ruby-on-rails – 在Rails环境之外测试(使用RSpec)控制器

我正在创建一个gem,它将为将使用它的Rails应用程序生成一个控制器.在尝试测试控制器时,这是一个试错过程.在测试模型时,它非常简单,但在测试控制器时,不包括ActionController :: TestUnit(如
here所述).我已经尝试过要求它,以及Rails中所有类似的声音,但它没有用.

我需要在spec_helper中要求测试工作吗?

谢谢!

最佳答案 下面是一个工作独立的Test :: Unit测试示例,其中包含一个简单的测试控制器..也许这里有一些部分你需要转移到你的rspec代码.

require 'rubygems'
require 'test/unit'
require 'active_support'
require 'active_support/test_case'
require 'action_controller'
require 'action_controller/test_process'

class UnderTestController < ActionController::Base
  def index
    render :text => 'OK'
  end
end
ActionController::Routing::Routes.draw {|map| map.resources :under_test }

class MyTest < ActionController::TestCase
  def setup
    @controller = UnderTestController.new
    @request    = ActionController::TestRequest.new
    @response   = ActionController::TestResponse.new
  end

  test "should succeed" do
    get :index
    assert_response :success
  end
end
点赞