我编写了一个小型集成测试,以测试我的应用程序登录名。我认为我的代码很好,但出现错误:
RuntimeError: not a redirect! 200 OK
我知道这意味着它没有重定向。但是,当我在应用程序中执行此操作时,一切正常,重定向也正常。我可以登录并重定向到指定的URL。因此,我不知道要通过测试可以进行哪些更改。
这是我的代码:
require 'test_helper'
class AuthFlowsTest < ActionDispatch::IntegrationTest
test "AuthFlowsTest" do
get "/agents/sign_in"
assert_equal 200, status
post "/agents/sign_in", params: { email: agents(:one).email,
password: agents(:one).password }
assert_response :redirect
follow_redirect!
assert_equal 200, status
assert_equal "/organizations", path
end
end
这是我的装置文件:
one:
email: test@test.com
encrypted_password: <%= Devise::Encryptor.digest(Agent, '123456') %>
也许Devise有问题?我一无所有...。非常感谢您的帮助。