2016-08-01 19 views
0

Ich habe gesucht, wie ich Tests für Devise 4.1.1 Registrierung Controller einrichten, verstehe ich, dass dies nicht empfohlen wird, aber für meine Anwendung wurde die Registrierung Controller angepasst insbesondere um unsere Bedürfnisse zu erfüllen. Wir haben nur wenige neue Spalten in der Benutzertabelle, die während des Anmeldevorgangs gespeichert werden. Daher würde ich nicht davon ausgehen, dass dies die Testumgebung beeinflusst.Test :: Unit-Test für Devise-Benutzer :: RegistrationController

Ich bin mir auch bewusst, dass Integrationstests durchgeführt werden können, um dies zu erreichen, aber ich freue mich, dies mit Unit-Tests für jetzt zu tun.

I Setup dieser Abschnitt in der test_helper.rb wie Devise beraten

ENV['RAILS_ENV'] ||= 'test' 
require File.expand_path('../../config/environment', __FILE__) 
require 'rails/test_help' 

class ActiveSupport::TestCase 
    # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. 
    fixtures :all 

    # Add more helper methods to be used by all tests here... 
end 

#This is what I added: 
class ActionController::TestCase 
    include Devise::TestHelpers 
end 

habe ich eine neue Datei registrations_controller.rb in den Ordner Controller/Benutzer namens/weil es nicht schon vorhanden sind, und diese der Inhalt ist:

require 'test_helper' 

class Users::RegistrationsControllerTest < ActionController::TestCase 
    setup do 
    @request.env["devise.mapping"] = Devise.mappings[:user] 
    end 
    test "sign_up view" do 
    get :new 
    assert_response :success 
    flunk("test flunk") 
    end 

end 

Wenn rake test läuft dieses ist die Ausgabe:

$ rake test 
(in /home/www/dev) 
Run options: --seed 163 

# Running: 



Finished in 0.010214s, 0.0000 runs/s, 0.0000 assertions/s. 

0 runs, 0 assertions, 0 failures, 0 errors, 0 skips 

Was fehlt mir hier ??

Antwort

0

ich sei dumm, kann man nicht einfach ausführen:

rake test 

Sie mit dem Pfad zu dem Controller

rake test test/controllers/users/registrations_controller.rb 

ersetzen 'test/controllers/users/registrations_controller.rb' ausgeführt werden müssen Datei