gpt4 book ai didi

ruby 单元测试 : run some code after each failed test

转载 作者:数据小太阳 更新时间:2023-10-29 07:11:15 25 4
gpt4 key购买 nike

Test::Unit 中的 ruby​​ 单元测试断言失败后,在执行 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 Hook :

class MyTestCase < Test::Unit::TestCase
add_teardown_hook do |tc|
screenshot() unless tc.passed?
end
end

这不适用于 1.8 的测试/单元,但适用于 1.9 中的最小测试。

关于 ruby 单元测试 : run some code after each failed test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com