Çok basit bir module
var VCR mücevher kullanarak Ruby ile test yapıyorum.VCR kasetleri kaydetmiyor
VCR'ı belgelere göre yapılandırdım, ancak kaset dizini içine kaydedilecek bir kaset elde edemiyorum. Her durumda kaset dizinindeki izinleri 777'ye değiştirdim bile. Gerçekten garip olan şey, kaset dizini tamamen kaldırdım, özellikleri çalıştırdım ve sonra yeni bir kaset dizini oluşturuldu.
Hydra
ile Typhoeus
0.4.2 kullanıyorum. Şu anda Typhoeus'u yükseltemiyorum.
ilgili kodu:
require 'rspec'
require 'vcr'
require_relative File.join("..", "crawl_handler")
VCR.configure do |c|
c.cassette_library_dir = "spec/vcr_cassettes"
c.hook_into :fakeweb
c.allow_http_connections_when_no_cassette = false
end
... # => other describe statements
describe "#handle_http_response" do
before(:each) do
get_some_response = lambda {
# NOTE: typhoeus v. 0.5 is MUCH less setup :)
VCR.use_cassette("bme") do
request = Typhoeus::Request.new("www.bing.com")
hydra = Typhoeus::Hydra.new
hydra.queue(request)
hydra.run
response = request.response
end
}
@message = @subject.handle_http_response("www.bing.com", get_some_response.call)
end
it "returns a message hash" do
@message.should be_kind_of Hash
end
...
Ben kasetleri yazılı olmama neden hiçbir fikrim yok.
+1. Konu dışı olarak kapanacak ve kayıt kafalarını temizlemenizi (veya Blu-Ray'a yükseltmenizi) tavsiye ediyorum, ama sanırım Ruby kodu hakkında konuşuyorsunuz :) –
LOL! Bunu fark etmediğim konuyu çözmeye çalışmak için çok sarılıydım. Bu problem için, sadece kasete bastım, fişini taktım ve tekrar taktım. – brycemcd