2
我是一個新手到紅寶石,我只是創建我的第一個測試套件。紅寶石:錯誤在最小破壞用戶
當寫一個MINITEST摧毀一個用戶我得到以下錯誤:
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=>"https://stackoverflow.com/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: [email protected]
password_digest: <%= User.digest('password') %>
admin: true
destroyme:
name: Destroy Me
email: [email protected]
password_digest: <%= User.digest('password') %>
admin: true
似乎比如用戶標識或用戶標識出現問題。任何想法我在這裏做錯了嗎?
嘗試用'刪除替換此'刪除user_path(@user_destroy)':銷燬ID:@ user_destroy' –
謝謝,確實是解決方案。這是否與這是一個控制器而不是集成測試有關? – Matthias
實際上並不是becoz你寫的路徑的方式是我們通常在控制器中定義的,但minitest有自己的方法來定義路徑。 –