使用测试::单元::数据

问题描述:

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

http://www.rubydoc.info/github/test-unit/test-unit/Test/Unit/Data/ClassMethods

然而,当我试图创建一个测试案例,试图得到它的工作,我得到一个错误说

“initial_test.rb:4:<class:InitialTest>': undefined method数据”为InitialTest:类(NoMethodError) “

代码我跑:

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类。有没有人使用过这个课程?我错过了什么吗?

我不熟悉这个模块特别,但由于data被定义为Test::Unit::DataTest::Unit::Data一个实例方法是一个模块,这个工程:

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

    data(…) 
end 

这就是说,你要希望仔细看看您链接的文档,因为您的示例用法看起来像复制意大利面。

+0

谢谢。我主要是想做一个基本的基础测试工作,所以我可以确保在尝试做更复杂的事情之前我已经有了语法。这是我第一次使用Test :: Unit的尝试。 – mleewing

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