我正在关注以下内容:
http://railscasts.com/episodes/151-rack-middleware
我正在尝试使用 rspec 测试中间件。
我不确定最好的方法。
我正在尝试获取请求标头以查看请求是否来自移动设备。
似乎我需要以某种方式传入应用程序实例,但还需要模拟请求标头?
请指教。
我正在关注以下内容:
http://railscasts.com/episodes/151-rack-middleware
我正在尝试使用 rspec 测试中间件。
我不确定最好的方法。
我正在尝试获取请求标头以查看请求是否来自移动设备。
似乎我需要以某种方式传入应用程序实例,但还需要模拟请求标头?
请指教。
为了使用 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 中所做的任何请求都将通过该中间件。