我正在尝试使用Test :: Unit为ruby创建一些数据驱动的API测试。最终的目的是从.csv文件中读取一系列测试用例。在寻找与testd的@dataprovider相当的东西时,我找到了一个名为Data的类,它看起来就像我需要的那样。
http://www.rubydoc.info/github/test-unit/test-unit/Test/Unit/Data/ClassMethods
但是,当我尝试创建测试用例以尝试使其正常工作时,我收到错误消息
&#34; initial_test.rb:4:在<class:InitialTest>': undefined method
数据&#39; for InitialTest:Class(NoMethodError)
&#34;
我正在运行的代码:
require "test/unit"
class InitialTest < Test::Unit::TestCase
data("true" => [true],
"false" => [false])
def test_true_is_true(data)
value = data
assert(false, "FAIL!")
end
end
我似乎无法在文档之外找到任何关于Data类的内容。有没有人用过这门课?我错过了什么吗?
答案 0 :(得分:0)
我特别不熟悉此模块,但由于data
被定义为Test::Unit::Data
上的实例方法而Test::Unit::Data
是一个模块,因此可行:
class YourTest < Test::Unit::TestCase
include Test::Unit::Data
data(…)
end
这就是说,您可能希望仔细查看您链接的文档,因为您的示例用法看起来像copy-pasta。
答案 1 :(得分:0)
事实证明,问题在于我使用的旧版Ruby不包含我尝试使用的类。更新到更新版本解决了问题。