我跟随以下内容:
http://railscasts.com/episodes/151-rack-middleware
我正在尝试使用rspec测试中间件。
我不确定最佳方法。
我正在尝试查看请求标头,以查看请求是否来自移动设备。
好像我想以某种方式传递一个应用程序实例,但是还需要模拟请求头?
请告知。
答案 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中执行的任何请求都将通过该中间件。