小编TED*_*TAL的帖子

如何使用Minitest为Devise测试控制器sign_in

我是Rails测试的新手.

在线学习了一些教程后,我能够为Model设置和运行测试.

但是在尝试测试Controller时,测试失败了,因为它被重定向到登录页面.

我已经尝试过我可以在网上找到的所有指令来登录设计,但仍然无法登录并继续前进.

感谢有人可以提供帮助并给我一个前进的方向.

AwardedBidsControllerTest
  test_should_get_index                                           FAIL (0.45s)
MiniTest::Assertion:         Expected response to be a <:success>, but was <302>
Run Code Online (Sandbox Code Playgroud)

以下是我的设置

测试/ test_helper.rb中

ENV["RAILS_ENV"] = "test"
require File.expand_path("../../config/environment", __FILE__)
require "rails/test_help"
require "minitest/rails"
require "minitest/reporters"
Minitest::Reporters.use!(
  Minitest::Reporters::SpecReporter.new,
  ENV,
  Minitest.backtrace_filter
)

class ActiveSupport::TestCase
  fixtures :all
  include FactoryGirl::Syntax::Methods
end

class ActionController::TestCase
  include Devise::TestHelpers
end
Run Code Online (Sandbox Code Playgroud)

测试/控制器/ awarded_bids_controller_test.rb

require "test_helper"

class AwardedBidsControllerTest < ActionController::TestCase
  test "should get index" do
    user = create(:user)
    sign_in user
    get :index
    assert_response :success
  end
end
Run Code Online (Sandbox Code Playgroud)

应用程序/控制器/ awarded_bids_controller.rb

class AwardedBidsController < …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails minitest devise ruby-on-rails-3

3
推荐指数
2
解决办法
4304
查看次数

标签 统计

devise ×1

minitest ×1

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1