2017-04-05 43 views
0

我想創建一些數據驅動的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類。有沒有人使用過這個課程?我錯過了什麼嗎?

回答

0

我不熟悉這個模塊特別,但由於data被定義爲Test::Unit::DataTest::Unit::Data一個實例方法是一個模塊,這個工程:

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

    data(…) 
end 

這就是說,你要希望仔細看看您鏈接的文檔,因爲您的示例用法看起來像複製意大利麪。

+0

謝謝。我主要是想做一個基本的基礎測試工作,所以我可以確保在嘗試做更復雜的事情之前我已經有了語法。這是我第一次使用Test :: Unit的嘗試。 – mleewing

0

原來,問題是我使用的是舊版本的Ruby,它沒有包含我嘗試使用的類。更新到新版本解決了這個問題。