首页 > 解决方案 > Minitest Rails:RuntimeError:不是重定向!200 好

问题描述

我编写了一个小型集成测试,以测试我的应用程序登录。我认为我的代码很好,但我得到了错误:

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') %>

也许设计有问题?我一无所知....任何帮助将不胜感激。

标签: ruby-on-railsrubytestingminitest

解决方案


推荐阅读