2010-05-15 18 views
14
concevoir

Je vais avoir quelques difficultés à mettre au point des tests avec Shoulda:test avec Shoulda

2) Error: 
test: handle :index logged as admin should redirect to Daily page. 
(Admin::DailyClosesControllerTest): 
NoMethodError: undefined method `env' for nil:NilClass 
devise (1.0.6) [v] lib/devise/test_helpers.rb:52:in 
`setup_controller_for_warden' 

J'ai dans mon test_helper:

include Devise::TestHelpers 

pensées? Merci à l'avance,

Cristi

Répondre

17

include Devise::TestHelpers ne va pas dans le fichier test_helper.rb, mais plutôt dans le cadre des classes de tests individuels. Tout comme leur README montre:

class ActionController::TestCase 
    include Devise::TestHelpers 
end 
+0

Oui. C'était ça. Thx –

12

Je ne sais pas si rspeicher est tout à fait correcte, mais mettre:

class ActionController::TestCase 
    include Devise::TestHelpers 
end 

au fond de test_helper.rb (oui après la END du class ActiveSupport::TestCase) devrait marcher. Il a pour l'instant 3 ou 4 projets, dont celui sur lequel je travaille aujourd'hui.

Vous pouvez ensuite utiliser sign_in users(:one) si vous utilisez des appareils, dans vos tests. À moins que shoulda ne gâche?

+0

C'est différent. Il mettait simplement "include Devise :: TestHelpers" dans la portée de base de son fichier test_helper.rb, pas dans la classe TestCase. –

+0

C'est exactement ce que le README dit de faire. – jordanpg

+0

+1 pour "oui après la fin de la classe ActiveSupport :: TestCase" –