Rails模拟应用程序实例/请求

时间:2013-04-07 16:54:32

标签: ruby-on-rails rack

我跟随以下内容:

http://railscasts.com/episodes/151-rack-middleware

我正在尝试使用rspec测试中间件。

我不确定最佳方法。

我正在尝试查看请求标头,以查看请求是否来自移动设备。

好像我想以某种方式传递一个应用程序实例,但是还需要模拟请求头?

请告知。

1 个答案:

答案 0 :(得分:1)

为了使用Rspec测试中间件,您需要定义一个方法,通过执行来创建中间件的实例

let(:inner_app) { lambda { |env| [200, {'Content-Type' => 'text/plain'}, ['All good!'] } }


let(:app) { SomeMiddleware.new }

def app
  SomeMiddleware.new
end

您还必须在Rack::Test::Methods或测试文件中包含模块spec_helper.rb

然后,您在Rspec中执行的任何请求都将通过该中间件。

检查此资源http://blog.kesor.net/2012/06/05/rack-middleware/