我不知道,是什麼過程創建了「終止」 - 消息,但你可以嘗試以下方法:
添加
def setup
puts "Start test #{self.__name__}"
STDOUT.flush
end
def teardown
puts "Finished test #{self.__name__}"
STDOUT.flush
end
您的所有測試。
例子:
require 'test/unit'
class Mytest < Test::Unit::TestCase
def test_1
assert_equal(1,1)
end
def test_2
assert_equal(1,1)
exit 1 ##stops the execution
end
def test_3
assert_equal(1,1)
end
end
結果
Loaded suite test
Started
.>Exit code: 1
停止測試,你看不出。我希望這與你的「終止」消息類似。
現在添加一些代碼:
require 'test/unit'
class Mytest < Test::Unit::TestCase
def setup
puts "Start test #{self.__name__}"
STDOUT.flush
end
def teardown
puts "Finished test #{self.__name__}"
STDOUT.flush
end
def test_1
assert_equal(1,1)
end
def test_2
assert_equal(1,1)
exit 1 ##stops the execution
end
def test_3
assert_equal(1,1)
end
end
這導致:
Loaded suite test
Started
Start test test_1
Finished test test_1
.Start test test_2
Finished test test_2
最後提到test_2
是一個有問題的。
您也可以將setup
和teardown
添加到每個TestCase中(但是如果您有自己的定義,則不會包含測試代碼)。
require 'test/unit'
class Test::Unit::TestCase
def setup
puts "Start test #{self.__name__}"
STDOUT.flush
end
def teardown
puts "Finished test #{self.__name__}"
STDOUT.flush
end
end
不要忘記刪除代碼 - 它只是確定問題的可能性。