我对 ruby 和 test/unit 有点陌生,所以这似乎是一个愚蠢的问题,但我正在寻找一种方法来动态地将测试输入到模板测试用例中(顺序很重要)。
基本上我有一个类似的测试用例:
主测试用例文件:
#testcase.rb
require 'test/unit/ui/console/testrunner'
require 'watir/testcase'
load "customTest1.rb"
class TC_Test_US < Watir::TestCase
def test_a
#do stuff
end
def test_b
#do stuff
end
#dynamically load website specific modules here
include myStuff
# end of custom tests carry on with generic tests
def test_y
#do stuff
end
def test_z
#do stuff
end
end
-- 自定义测试用例
#customTest1.rb
module myStuff
def test_customTest1
#do stuff
end
def test_customTest2
#do stuff
end
end
现在我有几个 customTestX.rb 文件。目前我在每个文件中将我的 test_a 复制到 test_z ,当我需要更改一个或添加一个新文件时,这很糟糕。
我希望能够重用主测试中的测试,并在中间动态插入我的自定义测试(重要的是 test_b 留在我的测试之前,而 test_y 留在我的测试之后)。我会动态更改“加载 customTestX.rb”并在每个文件中保持模块名称相同。
当我像这样启动这个测试用例时,我没有收到任何错误,但我的自定义测试都没有真正执行。脚本从 test_b 跳到 test_y 并且 customTest1 和 customTest2 没有被执行。
答案可能在于我的主要 testcase.rb 实例化,但我还没有成功地做到这一点。一旦您加载主文件,它就会执行....如果我删除了 testrunner 要求行,我将无法加载文件而没有例外。如果我这样做,我不确定如何在中间插入我的方法。有什么建议么?
谢谢!!!