After running `RAILS_ENV=test rails test test/controllers
我得到了
Expected response to be a <2XX: success>, but was a <302: Found>redirect to <http://www.example.com/users/sign_in>
响应正文:您正在redirected。
=====================
class OpeningsControllerTest < ActionDispatch::IntegrationTest
test "should get new" do
get new_opening_url
assert_response :success
end
end**
答案 0 :(得分:0)
您可以在运行测试用例时设置current_user吗?如果您没有分配当前用户,则在测试用例中的所有操作之前,使用this引用分配当前用户。
因为如果在应用程序控制器中使用了经过身份验证的用户,或者使用过devise,则需要使用此方法来对用户或admin用户进行身份验证;如果找不到当前用户,则它将重定向到user_sign_in_path。
答案 1 :(得分:0)
尝试类似的东西:
`
class OpeningsControllerTest < ActionDispatch::IntegrationTest
test "should get new" do
sign_in users(:rathod)
get new_opening_url
assert_response :success
end
end**
`
这意味着您需要在Fixture文件中创建一个用户:users.yml
rathod:
email: "JEVBR@test.com"
first_name: "rathod"
last_name: "bar"
猜测您正在使用Devise,因此您需要设备的测试助手来访问“ sign_in”助手