ruby 数据提供者?

标签 ruby csv testunit dataprovider

我对具有 java 背景的 ruby​​ 很陌生,我正在针对应用程序编写一组 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 组,所以更难维护

最佳答案

您可以使用 CSV class这样:

require 'csv'

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

关于 ruby 数据提供者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24245609/

相关文章:

windows - Ruby Shoes 包装有问题?

c# - 有谁知道一种更快的方法来执行 String.Split()?

python - 使用 pandas read_csv 检测导入 csv 文件的 header 分隔符

ruby - 编写单元测试以将数据保存到数据库中

ruby-on-rails - 如何 assert_select 一个字符串里面有一个新行?

ruby - 我可以确保所有测试都包含测试/单元中的断言吗?

ruby-on-rails - Rails,如何在 where 语句中使用 block

ruby - Ruby for 循环中的两个索引

ruby - 如何从更频繁地返回开头对象的数组中取值?

python - 从 csv 文件中提取日期范围并将其写入新文件,没有任何反应