0

我正在关注以下内容:

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

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

我不确定最好的方法。

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

似乎我需要以某种方式传入应用程序实例,但还需要模拟请求标头?

请指教。

4

1 回答 1

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/

于 2013-04-07T17:28:40.560 回答