Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用Test::Unit::Data_Ruby_Testunit_Data Driven Tests - Fatal编程技术网

Ruby 使用Test::Unit::Data

Ruby 使用Test::Unit::Data,ruby,testunit,data-driven-tests,Ruby,Testunit,Data Driven Tests,我正在尝试使用Test::Unit for ruby创建一些数据驱动的API测试。最终目的是从.csv文件中读取一系列测试用例。在寻找类似于@dataprovider for testng的东西时,我发现了一个名为Data的类,它看起来正是我所需要的 然而,当我试图创建一个测试用例来让它工作时,我得到一个错误 “InitialTest.rb:4:in”:InitialTest:Class(NoMethodError)的未定义方法data” " 我正在运行的代码: require "te

我正在尝试使用Test::Unit for ruby创建一些数据驱动的API测试。最终目的是从.csv文件中读取一系列测试用例。在寻找类似于@dataprovider for testng的东西时,我发现了一个名为Data的类,它看起来正是我所需要的

然而,当我试图创建一个测试用例来让它工作时,我得到一个错误

“InitialTest.rb:4:in
”:InitialTest:Class(NoMethodError)的未定义方法
data” "

我正在运行的代码:

    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
要求“测试/单元”
类InitialTest[真],
“假”=>[假])
def测试为真(数据)
值=数据
断言(false,“失败!”)
结束
结束

在文档之外,我似乎找不到任何关于数据类的提及。有人用过这门课吗?我错过什么了吗

我对这个模块不太熟悉,但是由于
data
被定义为
Test::Unit::data
上的一个实例方法,
Test::Unit::data
是一个模块,所以它可以:

class YourTest < Test::Unit::TestCase
  include Test::Unit::Data

  data(…)
end
classyourtest

这就是说,您需要更仔细地查看您链接的文档,因为您的示例用法看起来像是复制意大利面

问题在于我使用的是一个旧版本的Ruby,它没有包含我试图使用的类。更新到新版本解决了这个问题

谢谢。我主要是想让一个简单的基础测试正常工作,这样我就可以在尝试做任何更复杂的事情之前确保语法正确。这是我第一次尝试使用Test::Unit。