我搜索过这个,但没有成功。
我有一些使用RestClient和Webmock的测试(minitest)。当通过这些测试时,我总是记录请求,污染测试输出:
[$] rake
Run options: --seed 60435
Running:
.........................................................RestClient.get "http://example.com/some_controller/some_action?userLocale=fr_FR", "Accept"=>"*/*", "Accept-Encoding"=>"gzip, deflate", "User-Agent"=>"rest-client/2.0.0 (darwin14.1.0 x86_64) ruby/2.2.1p85" # => 200 OK | 4 bytes
有没有办法禁用它?
[编辑]
只是添加,如果我使用ruby URL调用相同的地址我没有记录(甚至使用webmock)所以它确实是与Rest-client相关的东西。
我已经尝试设置ENV['RESTCLIENT_LOG']
变量,但没有成功。
答案 0 :(得分:1)
怎么样:
RestClient.stub :log, '' do
# Your test code here
end
http://www.rubydoc.info/gems/minitest/4.2.0/Object:stub
您还有许多其他选项可以重定向日志输出:
在test_helper.rb
:
RestClient.log = 'tmp/test.log'
http://www.rubydoc.info/gems/rest-client/1.8.0/RestClient.log=
从命令行:
RESTCLIENT_LOG=tmp/restclient.log bundle exec rails test
在最后的手段中你可以修补补丁:
# test_helper.rb
RestClient.class_eval do
def self.log
''
end
end