我有一个 Rails 3 后台作业 (delayed_job),它向他们的 API 发送一条 hipchat / Campfire 消息,我想检查我的 Cucumber 功能中的响应。有没有办法获得 VCR 记录的最后一个 HTTP 响应?
该功能看起来像这样
@vcr
Scenario: Send hipchat message when task created
Given an hipchat_sample integration exists with app: app "teamway"
When I create an "ActionMailer::Error" task to "Teamway"
And all jobs are worked off # invoke Delayed::Worker.new.work_off
Then a hipchat message should be sent "ActionMailer::Error"
在我的步骤定义中,我想检查响应正文:
Then /^a hipchat message should be sent "(.*?)"$/ do |arg1|
# Like this:
# VCR::Response.body.should == arg1
end
VCR 已经记录了请求和响应,但我不知道如何获取它们。我想到了类似于捕获使用 Pickle 的步骤发送的电子邮件的方法。有谁知道如何做到这一点?
我使用 rails 3.2.8、cucumber-rails 1.3 和 vcr 2.2.4(带有 webmock)。
最好的问候托斯滕