gpt4 book ai didi

ruby - 在使用 TestRunner 运行之前将参数/对象传递给 ruby​​ 单元/测试

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

我正在构建一个自动化流程的工具,然后对它自己的结果运行一些测试,然后去做一些其他事情。

为了清理我的代码,我创建了一个单独的文件,其中只有测试用例类。现在,在我可以运行这些测试之前,我必须先向类传递几个参数/对象,然后才能运行它们。现在的问题是我似乎找不到将参数/对象传递给测试类的方法。

现在我正在考虑生成一个 Yaml 文件并在测试类中读取它,但是为此使用临时文件感觉“不对”。如果有人有更好的解决方案那就太好了!

**************编辑************

我现在正在做的示例代码:

#!/usr/bin/ruby
require 'test/unit/ui/console/testrunner'
require 'yaml'
require 'TS_SampleTestSuite'

automatingSomething()
importantInfo = getImportantInfo()

File.open('filename.yml', 'w') do |f|
f.puts importantInfo.to_yaml
end

Test::Unit::UI::Console::TestRunner.run(TS_SampleTestSuite)

现在在上面的例子中 TS_SampleTestSuite 需要 importantInfo,所以第一个“测试用例”是一个方法,它只是从 Yaml 文件 filname.yml 中读取信息。

我希望这能消除一些困惑。

最佳答案

总的来说,看起来您并没有真正以非常像 ruby​​ish 的方式使用单元测试,但我将把它搁置一分钟。

您的基本问题是您需要在测试运行之前进行一些设置。这样做的正常方法是在测试单元案例本身中使用设置方法。

class UserTest < TestUnit::TestCase

def setup
# do your important calculation
end

def test_success
#.. assert some things
end
end

我会考虑一下您在这里实际测试的代码是什么,看看您是否可以将其分解并以更细粒度的方式进行更多测试。

关于ruby - 在使用 TestRunner 运行之前将参数/对象传递给 ruby​​ 单元/测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/285314/

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