我的微Ruby項目的測試工作在我的機器上,對私人虛擬機上運行的測試,但未能對特拉維斯CI bulid特拉維斯CI未能與**/* _ test.rb模式
項目同時使用rspec
(+ rspec-given
)和minitest
完全跟蹤的位置:https://travis-ci.org/equivalent/code_katas/jobs/61321482
$ bundle exec rake
MiniTest::Unit::TestCase is now Minitest::Test. From /home/travis/.rvm/rubies/ruby
2.1.4/lib/ruby/2.1.0/test/unit/testcase.rb:8:in `<module:Unit>'
/home/travis/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/test/unit.rb:676:in `<class:Runner>': undefined method `_run_suite' for class `Test::Unit::Runner' (NameError)
from /home/travis/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/test/unit.rb:261:in `<module:Unit>'
from /home/travis/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/test/unit.rb:15:in `<module:Test>'
from /home/travis/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/test/unit.rb:7:in `<top (required)>'
from /home/travis/build/equivalent/code_katas/vendor/bundle/ruby/2.1.0/gems/sorcerer-1.0.2/test/sorcerer/resource_test.rb:3:in `require'
#...
的錯誤是不言自明MiniTest::Unit::TestCase is now Minitest::Test
。這是通過使用test-unit
(source)rspec-given
依賴sorcerer
(我的代碼是不是指test-unit
在代碼的任何地方)
所以我很好奇的是,如果有人知道如何解決這個問題造成的。
就像我說的它工作在其他地方,除了特拉維斯CI
你有'require'minitest/given''在你的spec_helper中嗎? –
失敗了 - 請查看源代碼respec-given:https://github.com/jimweirich/rspec-given並查看它在哪裏使用'MiniTest :: Unit :: TestCase' - 叉回購,更改它'Minitest :: Test'並提出一個拉請求(並在此期間使用你的叉) –
thx的答覆,我試圖添加/刪除'require'minitest/given'沒有工作。我圍繞着rspec給出的源代碼進行了挖掘,沒有提到'MiniTest :: Unit :: TestCase'。之所以會發生這種情況,是因爲Travis CI由於某種原因將'魔術師寶石測試評估爲我的應用程序的一部分。因爲我正在運行MiniTest> 5.0和巫師的Test :: Unit它們不兼容https://github.com/seattlerb/minitest/issues/283一個解決方案可能會鎖定到MiniTest 4.x但是我想使用最新。 (這可行,但不是在特拉維斯CI) – equivalent8