使用活动管理员测试Rails

时间:2016-07-14 19:51:29

标签: ruby-on-rails ruby testing activeadmin

我正在使用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)

的内容

1 个答案:

答案 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

我希望这会有所帮助。