加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Ruby中设置Test Suite

发布时间:2020-12-17 03:15:16 所属栏目:百科 来源:网络整理
导读:我试图在 Ruby中设置一个测试套件来自动测试WebUI(使用Watir) 个别测试都很好,并且运行正常,但我遇到了套件问题. 例如,如果我的一个测试是(其中BaseTestClass扩展Test :: Unit :: TestCase) class Test3_1_3_1_2 BaseTestClass def testHeightOfMainPanel as
我试图在 Ruby中设置一个测试套件来自动测试WebUI(使用Watir)

个别测试都很好,并且运行正常,但我遇到了套件问题.

例如,如果我的一个测试是(其中BaseTestClass扩展Test :: Unit :: TestCase)

class Test3_1_3_1_2 < BaseTestClass
  def testHeightOfMainPanel
    assert(false,'Not implemented')
  end
end

在我的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
}

基本上我想做的是在测试开始时创建一个新用户,运行测试然后删除用户.这是必要的,因为系统是单点登录(有点),如果我们为每个人使用相同的用户,则无法保证测试将正确执行(即其他人可以同时运行测试,然后是第一个用户将被踢出)

我得到的错误是:
未定义的方法at_start’

私有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

而我仍然没有得到它.任何帮助,将不胜感激

解决方法

我认为问题是,假设你使用的是Ruby 1.9.3,那就是要求’test / unit’需要哪个gem的混淆.

在Ruby 1.9.3中,要求’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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读