[英]How find the file/test which is causing rake test task to terminate?
我正在使用rake任务来运行应用程序的测试套件。
我可以看到,当我启动任务时,它将运行命令
ruby -I"lib:test" -I"[...]/lib" "[...]/lib/rake/rake_test_loader.rb" "vendor/plugins/shop/test/**/*_test.rb"
其中[...]
是的路径在我的宝石耙宝石。
运行任务时,我得到一些警告和一些警告.
这意味着一些测试通过了,但我最终terminated
日志示例:
...................................... 7431 Terminated
注意7431是PID。
我找不到有关这种情况的任何信息,详细或跟踪选项无法帮助我确定测试套件的损坏位置。
有谁知道我该怎么做才能解决此问题?
我不知道,什么过程创建了“终止”消息,但是您可以尝试以下操作:
添加一个
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
不要忘记删除代码-只是确定问题所在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.