Ruby:销毁用户的最小测试错误
Ruby: Error in minitest to destroy user
我是 ruby 的新手,正在创建我的第一个测试套件。
在编写销毁用户的小型测试时出现以下错误:
ERROR["test_should_destroy_when_logged_in_as_a_admin", UsersControllerTest]
test_should_destroy_when_logged_in_as_a_admin#UsersControllerTest ActionController::UrlGenerationError:
No route matches {:action=>"/users/608331937", :controller=>"users"}
测试内容如下:
def setup
@user_destroy = users(:destroyme)
@user_admin = users(:admin)
end
test "should destroy when logged in as a admin" do
log_in_as(@user_admin)
assert @user_admin.admin?, "not admin"
assert_difference 'User.count', -1 do
delete user_path(@user_destroy)
end
end
和夹具:
admin:
name: Matthias Havenaar
email: my@mail.com
password_digest: <%= User.digest('password') %>
admin: true
destroyme:
name: Destroy Me
email: destroy@me.com
password_digest: <%= User.digest('password') %>
admin: true
用户 ID 或 user_path 似乎有问题。知道我在这里做错了什么吗?
试试这个,我希望它能奏效。
替换
delete user_path(@user_destroy)
与
delete :destroy, id: @user_destroy
我是 ruby 的新手,正在创建我的第一个测试套件。
在编写销毁用户的小型测试时出现以下错误:
ERROR["test_should_destroy_when_logged_in_as_a_admin", UsersControllerTest]
test_should_destroy_when_logged_in_as_a_admin#UsersControllerTest ActionController::UrlGenerationError:
No route matches {:action=>"/users/608331937", :controller=>"users"}
测试内容如下:
def setup
@user_destroy = users(:destroyme)
@user_admin = users(:admin)
end
test "should destroy when logged in as a admin" do
log_in_as(@user_admin)
assert @user_admin.admin?, "not admin"
assert_difference 'User.count', -1 do
delete user_path(@user_destroy)
end
end
和夹具:
admin:
name: Matthias Havenaar
email: my@mail.com
password_digest: <%= User.digest('password') %>
admin: true
destroyme:
name: Destroy Me
email: destroy@me.com
password_digest: <%= User.digest('password') %>
admin: true
用户 ID 或 user_path 似乎有问题。知道我在这里做错了什么吗?
试试这个,我希望它能奏效。
替换
delete user_path(@user_destroy)
与
delete :destroy, id: @user_destroy