2014-06-16 209 views
2

我新望紅寶石有一個Java的背景,我寫了一組Selenium測試對應用程序Ruby數據提供者?

我們有一個測試,需要與多個值,這是目前存儲在一個長CSV重複。

在java中,編寫數據提供程序很簡單,並且每個值都重複測試,但在搜索此區域的一個早晨後,我無法在ruby中找到合適的解決方案。

我能想出的唯一的事情目前是這樣的

[ 
     ['USD',  'US' ], 
     ['GBP',  'UK' ], 
     ['EUR', 'FRA'] 
    ].each do |v1, v2| 
     test "creating with #{v1} and #{v2}" do 
      #do test 
     end 
    end 

但這並不很好看,數據的CSV有100組數據不是3,以便將更難維持

+0

我很驚訝,如果你說你的代碼的工作,它不應該。 –

+1

@TamerShlash - 爲什麼不呢? – BroiSatse

+0

'[] .each do | v1,v2 |'沒有意義,它應該只傳遞一個參數給塊。 –

回答

1

您可以使用的CSV class這樣:

require 'csv' 

CSV.foreach('path/to/csv/file') do |v1,v2| 
    test "creating with #{v1} and #{v2}" do 
    # do test 
    end 
end 
+0

此解決方案的工作原理謝謝,但這是常見的做法,在互聯網上似乎沒有明確指導這種方法 – charlietaylor

+0

@charlietaylor我不知道也不認爲有必要測試100對值,chekcout BSeven對這個問題的評論。 –