我不知道,是什么进程创建了“终止”消息,但您可以尝试以下操作:
添加一个
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
and添加teardown
到每个 TestCase (但如果您有自己的定义 ot setup/teardown 它们将不包含测试代码)。
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
不要忘记删除代码 - 这只是为了确定您的问题可能出在哪里。