实例变量未在TravisCI上初始化

时间:2016-03-21 00:23:08

标签: ruby travis-ci minitest

我在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

我可以做些什么来避免这些消息并获得干净的构建输出?

查看:

1 个答案:

答案 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