2016-03-21 54 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