我有一个基于Rails 4文档的简单控制器测试(使用Test :: Unit):
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 methodpermit' for "832959492":String
user_params’
app/controllers/users_controller.rb:23:in
app/controllers/users_controller.rb:8:increate'
block (2 levels) in ‘
test/controllers/users_controller_test.rb:11:in
test/controllers/users_controller_test.rb:10:in `block in ‘
由于某种原因,测试无法识别新的Rails 4许可方法.现在,我将user_params作为控制器中的私有方法.但是,我尝试将其移动到实际的创建操作并收到相同的错误.用户创建也是100%标准(完全没有任何疯狂 – 就像Rails文档一样).
有谁知道如何重写或以其他方式使这个测试通过?