經過3年的拖延,今天是我開始測試Rails應用程序的那一天。我的第一步是在我的Rails 3 beta4應用程序中修復失敗的測試。在設計Rails中進行功能測試
我最近3次失敗的測試與設計寶石及其authenticate_user有關!方法在我的控制器頂部的before_filter中。
通過幫助我解決這個問題,你會獲得很大的業力,因爲它可以使我從現在開始使用TDD方法。
這是困擾我的錯誤:
1) Error:
test_should_get_accepted(ModerationControllerTest):
NoMethodError: undefined method `authenticate!' for nil:NilClass
/test/functional/moderation_controller_test.rb:10:in `test_should_get_accepted'
設計只是給功能測試指針和助手在此頁:http://github.com/plataformatec/devise,但我只是不知道如何把這個變成應用。
你能否給這個測試noob一些關於如何使用這些助手的詳細說明?
它創建了其他錯誤以在Test_helper.rb文件中包含Devise :: TestHelpers。根據這個答案,它應該只包含在單個測試文件中:http://stackoverflow.com/questions/2839328/testing-devise-with-shoulda所以我編輯了你的答案 – vdaubry 2012-01-15 22:26:12
問題不在於把它放在test_helper.rb本身。問題是,如果它的範圍沒有正確 - 它必須在類ActionController :: TestCase中。如果它包含在test_helper.rb中的ActiveSupport :: TestCase塊中,事情會變得很糟糕。 – jpgeek 2012-08-05 03:04:49