Dac*_*ace 5 ruby unit-testing watir
我试图在Ruby中设置一个测试套件来自动测试WebUI(使用Watir)
个别测试都很好,并且运行正常,但我遇到了套件问题.
例如,如果我的一个测试是(其中BaseTestClass扩展Test :: Unit :: TestCase)
class Test3_1_3_1_2 < BaseTestClass
def testHeightOfMainPanel
assert(false, 'Not implemented')
end
end
Run Code Online (Sandbox Code Playgroud)
在我的RunAllTests脚本中,我尝试执行以下操作
require 'test/unit'
Test::Unit.at_start do
#Lets create our own user for these tests
createCCUser(User, Password)
end
Test::Unit.at_exit do
#Delete our own user
deleteUser(User)
end
Dir["./**/Test*.rb"].each{|s|
puts s.to_s
load s
}
Run Code Online (Sandbox Code Playgroud)
基本上我想做的是在测试开始时创建一个新用户,运行测试然后删除用户.这是必要的,因为系统是单点登录(有点),如果我们为每个人使用相同的用户,则无法保证测试将正确执行(即其他人可以同时运行测试,然后是第一个用户将被踢出)
我得到的错误是:未定义的方法at_start'
and
private methodat_exit'调用
我知道我做错了什么,但对于Ruby来说很新,很难看出它在哪里.基本上我需要的是一种执行某些设置的方法,运行可以找到的所有测试,然后进行清理.每个测试都有自己独立的设置和拆卸方法
我还应补充一点,我尝试了上述相同的许多变化,例如
require 'test/unit'
class Temp < Test::Unit::TestCase
Test::Unit.at_exit do
#Delete our own user
deleteUser(User)
end
Test::Unit.at_start do
#Lets create our own user for these tests
createCCUser(User, Password)
end
Dir["./**/Test*.rb"].each { |s|
puts s.to_s
load s
}
end
Run Code Online (Sandbox Code Playgroud)
而我仍然没有得到它.任何帮助,将不胜感激
我认为问题在于,假设您使用的是Ruby 1.9.3,那就是需要哪个gem的混淆require 'test/unit'.
在Ruby 1.9.3中,require 'test/unit'将需要"Minitest"宝石.您要使用的方法在此gem中不存在.
这些at_start和at_exit方法存在于test-unit gem中.
假设您同时拥有Minitest gem(默认情况下在Ruby 1.9中安装)和Test-Unit gem(手动安装使用gem install test-unit),您需要明确说明您需要测试单元gem.
在要求测试/单元之前,请指定测试单元gem的用法:
gem 'test-unit'
require 'test/unit'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1185 次 |
| 最近记录: |