在 ruby 单元测试中断言失败后,是否有一些干净而优雅的方法可以立即执行我的代码Test::Unit
, 前teardown
被处决?
我正在做一些自动化 GUI 测试,并且想在出现故障后立即截取屏幕截图。
如果您使用的是 1.9,请不要使用 Test::Unit::TestCase 作为基类。将其子类化并覆盖 #run_test 进行救援,截取屏幕截图并重新引发:
class MyAbstractTestCase < Test::Unit::TestCase
def run_test( *args )
super(*args)
rescue
snapshot()
raise
end
end
或者,我认为这实际上是最简洁的方法,您可以使用 before_teardown 挂钩:
class MyTestCase < Test::Unit::TestCase
add_teardown_hook do |tc|
screenshot() unless tc.passed?
end
end
这不适用于 1.8 的测试/单元,但适用于 1.9 中的小型测试。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)