gpt4 book ai didi

ruby - 我如何有效地强制 Minitest 按顺序运行我的测试?

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:34 26 4
gpt4 key购买 nike

我知道。这是气馁。由于我不会深入的原因,我需要按照编写的顺序运行我的测试。根据文档,如果我的测试类(我们称之为 TestClass)扩展了 Minitest::Unit::TestCase,那么我应该能够调用公共(public)方法 i_suck_and_my_tests_are_order_dependent!认为创建 Minitest 的人对此有意见?)。此外,还可以选择调用名为 test_order 的方法并指定 :alpha 以覆盖 :random 的默认行为。这些都不适合我。

这是一个例子:

class TestClass < Minitest::Unit::TestCase

#override random test run ordering
i_suck_and_my_tests_are_order_dependent!

def setup
...setup code
end

def teardown
...teardown code
end

def test_1
test_1 code....
assert(stuff to assert here, etc...)
puts 'test_1'
end

def test_2
test_2_code
assert(stuff to assert here, etc...)
puts 'test_2'
end

end

当我运行它时,我得到:

undefined method `i_suck_and_my_tests_are_order_dependent!' for TestClass:Class (NoMethodError)

如果我将 i_suck 方法调用替换为顶部的方法:

def test_order
:alpha
end

我的测试运行了,但我可以从每种方法的 puts 中看出,每次我运行测试时,事情仍然以随机顺序运行。

有谁知道我做错了什么?谢谢。

最佳答案

如果您只是将 test_order: alpha 添加到您的测试类中,测试将按顺序运行:

class TestHomePage

def self.test_order
:alpha
end

def test_a
puts "a"
end

def test_b
puts "b"
end

end

关于ruby - 我如何有效地强制 Minitest 按顺序运行我的测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8752654/

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