【发布时间】:2012-03-18 20:46:05
【问题描述】:
我正在尝试在 Rails 之外使用 VCR 2.0.0。
当我运行规范时,VCR 似乎完美地创建了vcr_cassettes 目录。但是,测试似乎仍在网络上,并且在盒式磁带目录中从未找到任何 yaml 盒式磁带。
任何想法我做错了什么?
这是我运行相关规范的示例:
rm -r spec/fixtures/vcr_cassettes
rspec spec/lib/availability_checkers/net_checker_spec.rb
...*
Finished in 1.83 seconds
3 examples, 0 failures, 0 pending
ls spec/fixtures/vcr_cassettes
=> # created but empty
我有一个spec/support/vcr_helper.rb:
require "vcr"
VCR.configure do |c|
c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
c.hook_into :webmock
end
我在spec/lib/availability_checkers/net_checker_spec.rb 下有一个规范文件:
require "availability_checkers/net_checker'
require "support/vcr_helper"
describe NetChecker, "check" do
it "should return false if the domain is unavailable" do
VCR.use_cassette("unavailable_domain") do
NetChecker.check("apple.com").should be_false
end
end
end
如果你有兴趣,这里是 lib/availability_checkers/net_checker.rb 中正在测试的方法:
require "whois"
class NetChecker
def check(host)
# this part hits the network
return Whois.available?(host)
rescue Whois::Error => e
return nil
end
end
【问题讨论】:
标签: ruby rspec rubygems rspec2 vcr