我为一个HTTP REST API开发了一个ruby包装器,使用带有vcr的rspec来测试我的请求。项目加载到travis-ci.org,它可以自动运行测试。 我的测试里面有问题。 VCR无法处理挂钩前后的请求,这是为了防止向服务器填充测试数据。
describe '.find' do
before :all do
@project = Project.new(name: "Project#{Time.now.to_i}").save
end
after :all do
@project.delete
end
#tests
end
我收到了vcr错误:
An error occurred in a before(:all) hook.
VCR::Errors::UnhandledHTTPRequestError:
当然,我不想在每个测试中创建和删除远程实体。
答案 0 :(得分:4)
describe '.find' do
before :all do
VCR.use_cassette("some_cassette_name") do
@project = Project.new(name: "Project#{Time.now.to_i}").save
end
end
after :all do
VCR.use_cassette("some_other_cassette_name") do
@project.delete
end
end
#tests
end