我正在使用rails'构建测试以及活动管理员。在我的大多数测试中(您需要在实际软件中登录的那些测试),我收到错误,而不是执行任何测试应该执行的任务,它将重定向到登录页面(因为测试你没有登录)。如何在测试之前以管理员用户身份登录,或者忽略登录测试的必要性?
要清楚,这是一个这样的测试的结果:
Failure:
PaymentsControllerTest#test_should_get_new [/home/silvertail/Documents/rails/bridal/test/controllers/payments_controller_test.rb:16]:
Expected response to be a <2XX: success>, but was a <302: Found> redirect to <http://www.example.com/admin/login>
我正在寻找类似:current_admin_user = admin_users(:one)
答案 0 :(得分:0)
您必须将管理员用户登录到测试环境中。你可以这样做:
test "should get new" do
user = users(:one)
# The user :one should be defined in your users.yml and flagged as admin
get login_path
post login_path, params: { session: { email: user.email,
password: user.password} }
assert_response :success
end
我希望这会有所帮助。