我有一個基於Rails的一個簡單的控制器測試4個文檔(使用測試::單位):軌道4控制器測試「未定義的方法許可證」
test "should create user" do
assert_difference('User.count') do
post :create, user: users(:sample_user)
end
assert_redirected_to user_path(assigns(:user))
end
而且,儘管實際的用戶創建就好了,測試失敗,他說:
1) Error: UsersControllerTest#test_should_create_user: NoMethodError: undefined method
permit' for "832959492":String app/controllers/users_controller.rb:23:in
user_params' app/controllers/users_controller.rb:8:increate' test/controllers/users_controller_test.rb:11:in
block (2 levels) in ' test/controllers/users_controller_test.rb:10:in `block in '
出於某種原因,檢測不能識別新的Rails 4 permit
方法。現在,我將user_params
作爲控制器中的私有方法。但是,我試圖將其移至實際的create
操作並收到相同的錯誤。用戶創建也是100%標準的(就像Rails文檔一樣,沒有什麼特別的)。
有誰知道我可以重寫或以其他方式通過此測試嗎?
謝謝,我正在使用夾具,這是問題所在。添加.attributes是解決方案! – Justin