2016-03-21 23 views
1

我在TravisCI上运行我的测试套件时遇到问题。它曾经是绿色的,但因为有些时候我越来越喜欢消息的buttload:在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的和作业失败(即使当我读到完整的日志中,测试通过)。由于这是一个外部库,我不能更改它的代码。我检查了许多版本的兔子/ amq协议,但它似乎不相关。我也不使用rspec这个,我使用minitest

我该怎么做才能避免这些消息并获得干净的构建输出?

参见:

回答

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

编辑:

好像你还需要设置verbose = false因为https://github.com/ruby/rake/blob/master/lib/rake/testtask.rb#L131

在你的Rakefile该行应为:

Rake::TestTask.new(:test) do |test| 
    test.libs << 'lib' << 'test' 
    test.pattern = 'test/**/*_test.rb' 
    test.verbose = false 
    test.warning = false 
end 
+0

这做的招。非常感谢! – katafrakt