Ruby数据提供者?

Ruby数据提供者?,ruby,csv,testunit,dataprovider,Ruby,Csv,Testunit,Dataprovider,我对ruby还不熟悉,有java背景,我正在编写一套针对应用程序的selenium测试 我们有一个测试需要用许多值重复,它当前存储在一个长csv中 在java中,编写一个数据提供者并对每个值重复测试是很简单的,但是在这个区域搜索了一上午之后,我在ruby中找不到合适的解决方案 目前我唯一能想到的就是这样的东西 [ ['USD', 'US' ], ['GBP', 'UK' ], ['EUR', 'FRA'] ].each do |v1, v

我对ruby还不熟悉,有java背景,我正在编写一套针对应用程序的selenium测试

我们有一个测试需要用许多值重复,它当前存储在一个长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组,所以维护起来会比较困难

您可以这样使用:

require 'csv'

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

如果你说你的代码可以工作,我很惊讶,它不应该工作。@TamerShlash-为什么不呢?
[]。每个do | v1,v2 |
都没有意义,它应该只向块传递一个参数。@Tamer-试试:
[[1,2],[2,3]]。每个{I,j |都放上“{I}-{j}
-由于并行,它是完全有效的assignment@BroiSatse哇!看来我需要回顾一下数组的每个方法是如何工作的!这个解决方案是有效的,这是一个普遍的做法,但是,似乎没有一个明确的指南,为这种类型的方法在网上internet@charlietaylor“我真的不知道,也不认为有必要测试100对值,”切克考特·贝什对这个问题的评论说。