2014-06-16 171 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对这个问题的评论。 –