NetRecorder¶ ↑
Record network responses for easy stubbing of external calls.
Net recorder hooks into NetHTTP to record the outgoing request path and method and caches the response. Then you can switch on fakeweb and it will use the cache from the recording.
Requirements¶ ↑
gem install fakeweb
Install¶ ↑
gem install netrecorder
Usage¶ ↑
Anywhere you use fakeweb, you can use net recorder.
Record all responses:
NetRecorder.config do |config| config.cache_file = File.join(RAILS_ROOT, 'fakeweb') config.record_net_calls = true end
Save recorded responses:
NetRecorder.cache!
Use recorded cache with fakeweb:
NetRecorder.config do |config| config.cache_file = File.join(RAILS_ROOT, 'features', 'support', 'fakeweb') config.fakeweb = true end
Cucumber Example¶ ↑
see cukes.info for more info on testing with Cucumber
# Find me in features/support/netrecorder.rb NetRecorder.config do |config| config.cache_file = "#{File.dirname(__FILE__)}/../support/fakeweb" if ENV['RECORD_WEB'] config.record_net_calls = true else config.fakeweb = true FakeWeb.allow_net_connect = false end end at_exit do if NetRecorder.recording? NetRecorder.cache! end end
record mode (command line)
>> rake features RECORD_NET_CALLS=true
cache mode (command line)
>> rake features