2
Я новичок в рубине и просто создаю свой первый набор тестов.Ruby: ошибка в minitest для уничтожения пользователя
При написании 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_path (@user_destroy)' 'с удаления: уничтожить, идентификатор: @ user_destroy' –
Спасибо, что действительно является решением. Это связано с тем, что это контроллер, а не тест интеграции? – Matthias
Не на самом деле becoz То, как вы написали путь, это то, что мы обычно определяем в контроллере, но у minitest есть собственный способ определения путей. –