gpt4 book ai didi

ruby - 在 Ruby 中,如何控制 Test::Unit 测试的运行顺序?

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

例如,当运行这些测试时,我想确保 test_fizz 总是先运行。

require 'test/unit'
class FooTest < Test::Unit::TestCase
def test_fizz
puts "Running fizz"
assert true
end

def test_bar
puts "Running bar"
assert true
end
end

更新:我为什么要这样做?我的想法是,某些测试(那些测试更简单、更基本的方法)的早期失败将使跟踪系统中的问题变得更容易。例如,bar 的成功取决于 fizz 是否正常工作。如果 fizz 坏了,我想马上知道,因为没有必要担心 bar,它也会失败,但输出要复杂得多测试结果。

最佳答案

您可以使用 Test::Unit::TestCase#test_order = :defined 定义测试顺序

例子:

gem 'test-unit'  #I used 2.5.5
require 'test/unit'
class Mytest < Test::Unit::TestCase
self.test_order = :defined
#~ self.test_order = :random
#~ self.test_order = :alphabetic #default
def test_b
p :b
end
def test_a
p :a
end
def test_c
p :c
end
end

结果:

Loaded suite test
Started
:b
.:a
.:c
.

Finished in 0.001 seconds.

没有 test_order = :defined 你会得到字母顺序:

Loaded suite test
Started
:a
.:b
.:c
.

关于ruby - 在 Ruby 中,如何控制 Test::Unit 测试的运行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1772890/

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