所以我一直试图弄清楚这一点,我能想出他的全局变量的最佳解决方案——但这看起来很脏,而且 1974 年——我是否缺少 Rake/Test::Unit 的一个功能?
我有一个正在运行测试的 Rake 文件:
Rake::TestTask.new(:test) do |t|
t.test_files = FileList['test_*.rb']
end
并且 test_1.rb 有这样的东西:
require "test/unit"
class TestStuff < Test::Unit::TestCase
def setup
@thingy = Thing.New(parameter1, parameter2)
end
def test_this_thing
@thing.do()
end
end
我的问题是, Thing.new() 需要参数,而这些参数特定于我的环境。实际上,我正在运行 Selenium-WebDriver,我想传入一个浏览器类型和一个 url 等……有时我想要 ff,有时我想要 chrome……有时是这个 URL,有时是那个……取决于日期等。
最简单的事情似乎是这样的:
#all that rake stuff
$parameter1 = x
$parameter2 = y
然后让 Thing.new() 查找我的全局变量:
@thingy = Thing.New($parameter1, $parameter2)
这似乎草率..而且我觉得不对劲。我仍在努力让这个“测试工具”启动并运行,并希望第一次就做好。这就是我选择 Rake 的原因,基于很多其他反馈。
请记住,我最终可能会进行 100 次测试,他们都需要获取这些信息......我认为 Rake 擅长确保所有这些都很容易,但似乎并不是。
我哪里做错了?