使用ruby testunit进行数据驱动测试
我有一个非常基本的问题,我找不到任何解决办法 因此,我使用Watir Webdriver和testunit来测试我的web应用程序。 我有一个测试方法,我想对多组测试数据运行 虽然我确实可以使用旧的循环技巧来运行它,但这将显示为只运行了一个测试,这不是我想要的 我知道在testng中有@dataprovider,我正在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
[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中提取数据的代码?换句话说,您只是在寻找如何循环该数组并从中定义测试吗?