使用ruby testunit进行数据驱动测试

使用ruby testunit进行数据驱动测试,ruby,watir-webdriver,testunit,Ruby,Watir Webdriver,Testunit,我有一个非常基本的问题,我找不到任何解决办法 因此,我使用Watir Webdriver和testunit来测试我的web应用程序。 我有一个测试方法,我想对多组测试数据运行 虽然我确实可以使用旧的循环技巧来运行它,但这将显示为只运行了一个测试,这不是我想要的 我知道在testng中有@dataprovider,我正在testunit中寻找类似的东西 任何帮助 以下是我到目前为止的情况: [1,2].each do |p| define_method :"test_that_#{p}_is_lo

我有一个非常基本的问题,我找不到任何解决办法

因此,我使用Watir Webdriver和testunit来测试我的web应用程序。 我有一个测试方法,我想对多组测试数据运行

虽然我确实可以使用旧的循环技巧来运行它,但这将显示为只运行了一个测试,这不是我想要的

我知道在testng中有@dataprovider,我正在testunit中寻找类似的东西

任何帮助

以下是我到目前为止的情况:

[1,2].each do |p|
define_method :"test_that_#{p}_is_logged_in" do
 # code to log in
end
end
这个很好用。但我的问题是如何以及在哪里创建可以循环使用的数据。我从excel中读取数据,比如说我有一个从excel中获取的哈希列表 [{:name=>abc,:password=>test},{:name=>def,:password=>test}]

当前代码状态:

    class RubyTest < Test::Unit::TestCase

    def setup
      @excel_array = util.get_excel_map //This gives me an array of hash from excel
    end

     @excel_array.each do |p|
     define_method :"test_that_#{p}_is_logged_in" do
       //Code to check login
     end
     end
class RubyTest

我正在努力运行循环。我在类声明行上看到一个错误,上面写着“nil:NilClass(NoMethodError)的未定义方法'each'”

您希望执行以下操作:

require 'minitest/autorun'

describe 'Login' do
  5.times do |number|
    it "must allow user#{number} to login" do
      assert true # replace this assert with your real code and validation
    end
  end
end
当然,我在这里混合了spec和test/unitassert的措辞,但是在任何情况下,如果是assert,您都会放置断言/期望

按照此代码的状态,它将通过5次,如果您要以故事形式报告,它将根据相应测试的用户编号进行更改


从何处获取数据,这是缺少的代码部分,您还需要尝试获取错误。

您希望执行以下操作:

require 'minitest/autorun'

describe 'Login' do
  5.times do |number|
    it "must allow user#{number} to login" do
      assert true # replace this assert with your real code and validation
    end
  end
end
当然,我在这里混合了spec和test/unitassert的措辞,但是在任何情况下,如果是assert,您都会放置断言/期望

按照此代码的状态,它将通过5次,如果您要以故事形式报告,它将根据相应测试的用户编号进行更改


从何处获取数据,这是缺少的代码部分,您还没有尝试并获得错误。

我仍在学习testunit,因此到目前为止,还没有我尝试过或可以与他人共享的代码,我希望在开始之前获得基本的想法我至少会开始。。。然后问你需要继续的问题。这是一个传统。你显然有问题,你一定尝试过什么。。。否则您就无法解决该问题。请使用代码编辑该问题,但数据是存储的,然后收集登录用户,查看该登录名是否存在。@Pratik,您是否已经拥有从excel中提取数据的代码?换句话说,你只是在寻找如何循环该数组并从中定义测试吗?我仍在学习testunit,所以到目前为止,我还没有尝试过或可以与他人分享的代码,我想在开始之前获得一些基本的想法我至少会开始。。。然后问你需要继续的问题。这是一个传统。你显然有问题,你一定尝试过什么。。。否则您就无法解决该问题。请使用代码编辑该问题,但数据是存储的,然后收集登录用户,查看该登录名是否存在。@Pratik,您是否已经拥有从excel中提取数据的代码?换句话说,您只是在寻找如何循环该数组并从中定义测试吗?