我在TravisCI上运行测试套件时遇到问题。它曾经是绿色的,但是有一段时间我得到了一些像以下消息:
/home/travis/build/PuzzleFlow/tochtli/vendor/bundle/ruby/2.3.0/gems/bunny-2.3.0/lib/bunny/cruby/socket.rb:37: warning: instance variable @__bunny_socket_eof_flag__ not initialized
因此,日志大小超过4MB,作业失败(即使我读完整日志,测试也会通过)。由于这是一个外部库,我无法更改其代码。我检查了许多版本的bunny / amq-protocol,但它似乎无关。我也没有使用rspec
,我使用minitest
。
我可以做些什么来避免这些消息并获得干净的构建输出?
查看:
答案 0 :(得分:2)
问题在于这一行:
/home/travis/.rvm/rubies/ruby-2.3.0/bin/ruby -W -w -I"lib:lib:test" -I"/home/travis/build/PuzzleFlow/tochtli/vendor/bundle/ruby/2.3.0/gems/rake-11.1.1/lib" "/home/travis/build/PuzzleFlow/tochtli/vendor/bundle/ruby/2.3.0/gems/rake-11.1.1/lib/rake/rake_test_loader.rb" "test/**/*_test.rb"
此处-w
表示您正在以警告模式运行。有关详细说明,请参阅ruby --help
您的项目似乎有rake
的更新版本。 rake/testtask
似乎默认使用警告选项。尝试将其设置为false:https://github.com/ruby/rake/blob/master/lib/rake/testtask.rb#L51
编辑:
由于https://github.com/ruby/rake/blob/master/lib/rake/testtask.rb#L131
,您似乎还需要设置verbose = false
Rakefile中的行应为:
Rake::TestTask.new(:test) do |test|
test.libs << 'lib' << 'test'
test.pattern = 'test/**/*_test.rb'
test.verbose = false
test.warning = false
end