我不明白自己在做什么错,确实需要一些帮助。我正在尝试为多租户站点编写一个简单的IntegrationTest,其中每个帐户都有其自己的子域。
我按照说明here更改了IntegrationTest中的主机,但是当我运行测试时
Minitest::Assertion: Expected response to be a redirect to <http://subdomain1.example.com:3000/login> but was a redirect to <http://www.example.com:3000/>.
Expected "http://subdomain1.example.com:3000/login" to be === "http://www.example.com:3000/".
test/integration/feedback_flow_test.rb:8:in `block in <class:FeedbackFlowTest>'
Finished in 0.26594s
1 tests, 2 assertions, 1 failures, 0 errors, 0 skips
我编辑了主机文件,以使subdomain1.example.com
和www.example.com
指向127.0.0.1。为了使此功能正常工作,我还有其他事情要做吗?下面是IntegrationTest的代码
require 'test_helper'
class FeedbackFlowTest < ActionDispatch::IntegrationTest
test "no token should go to the login page" do
host! 'subdomain1.example.com:3000'
get feedback_path
assert_redirected_to login_url
follow_redirect!
assert_select '.alert-danger h3', 'You are not authorized '
end
end
答案 0 :(得分:0)
对不起,每个人...通过查看test.log发现了问题。似乎我忘记为帐户模型创建固定装置了。因此,在运行测试时不会创建任何帐户,从而导致错误。我总是在test_helper.rb文件中执行fixtures :all
,以便它加载测试的所有设备。