Iva*_*van 8 rack rspec sinatra
所以我有一个Sinatra应用程序,通过来自其他服务的HTTP POST接收XML.我想在本地测试它.我有一个测试XML文件,我发送到端点.这很顺利.我还设置了一些像这样的标题:
post '/', xml, 'HTTP_X_MY_AWESOME_HEADER' => "It's value"
Run Code Online (Sandbox Code Playgroud)
其中xml是发送到我的端点的普通XML的确切副本.但我作为参数传递的标题永远不会显示在输出中.
我在这里做错了吗?这里有很多关于它的帖子,但都过时了.
我正在使用Rspec 2.8,Sinatra 1.3.2,Ruby 1.9.3-p0,Rack :: Test 0.6.1.
更新2012-01-28 11:37:当我问这个问题时,我显然没有想到.使用请求发送标头并不意味着我会在响应中收到它们.
所以现在的问题是:如何测试请求标头而不将其与响应一起发回?
您应该能够像这样检查 last_request :
last_request.env["HTTP_X_MY_AWESOME_HEADER"]
Run Code Online (Sandbox Code Playgroud)
使用 RSpec 和上面的示例,您将测试:
last_request.env["HTTP_X_MY_AWESOME_HEADER"].should == "It's value"
Run Code Online (Sandbox Code Playgroud)
希望你能获得绿灯:)
更多信息请访问: http://www.sinatrarb.com/testing.html#asserting_expectations_about_the_response
华泰
| 归档时间: |
|
| 查看次数: |
5523 次 |
| 最近记录: |