橫空出世,ruby testframe
#=========================
#!/usr/bin/env ruby -w
#coding:gbk
#=========================
#
# author: leijm
# date : 2012-07-24 22:57:28
# file name: testrb.rb
#
# 1 測試套自動注冊
# 2 多版本支持
# 3 checkRetcode 支持報錯返回錯誤碼
# 4 單用例執(zhí)行
# 5 前后臺執(zhí)行
#
#=========================
#Ruby的類庫中最大限度靈活運(yùn)用Template Method模式的部分,應(yīng)該說是Enumerable模塊和Comparable模塊了。
# Enumerable模塊中實(shí)現(xiàn)循環(huán)的each方法采用了Template Method模式。表4-2是Enumerable模塊的方法一覽。
# 表4-2 Enumerable提供的方法
# 方 法 名 功 能
# all? 是否所有元素都為真
# all?{|x|...} 塊是否對所有元素都為真
# any? 是否至少有一個元素為真
# any?{|x|...} 塊是否對至少有一個元素為真
# collect{|x|...} 對各元素進(jìn)行塊中的計(jì)算,返回結(jié)果的數(shù)組
# detect{|x|...} 返回使塊為真的第1個元素
# each_with_index{|x,i|...} 對各元素和下標(biāo)進(jìn)行塊中的計(jì)算
# entries 返回元素的數(shù)組
# find{|x|...} 返回使塊為真的第1個元素
# find_all{|x|...} 返回使塊為真的所有元素的數(shù)組
# grep(pattern) 返回匹配檢索模式的所有元素的數(shù)組
# grep(pattern){|x|...} 對匹配檢索模式的所有元素進(jìn)行塊中的計(jì)算
# include?(x) 是否有元素與x相等
# inject{|x,y|...} 返回對各元素進(jìn)行塊中的計(jì)算的結(jié)果
# inject(init){|x,y|...} 返回對各元素進(jìn)行塊中的計(jì)算的結(jié)果
# map{|x|...} 對各元素進(jìn)行塊中的計(jì)算,返回結(jié)果的數(shù)組
# max 返回最大的元素
# max{|a,b|...} 使用塊中的比較方法,返回最大的元素
#
# max_by{|x|...} 對各元素進(jìn)行塊中的變換,返回結(jié)果最大的元素(Ruby 1.9)
# member?(x) 是否有元素與x相等
# min 返回最小的元素
# min{|a,b|...} 使用塊中的比較方法,返回最小的元素
# min_by{|x|...} 對各元素進(jìn)行塊中的變換,返回結(jié)果最小的元素(Ruby 1.9)
# partition{|x|...} 把使塊為真的元素和使塊為假的元素分離開
# reject{|x|...} 返回使塊為假的元素的數(shù)組
# select{|x|...} 返回使塊為真的元素的數(shù)組
# sort 對元素排序
# sort{|a,b|...} 使用塊中的比較方法,對元素排序
# sort_by{|x|...} 對各元素進(jìn)行塊中的變換,按照變換結(jié)果對元素進(jìn)行排序
# to_a 返回元素的數(shù)組
# zip(a,...) 返回各集合串接后的數(shù)組
# zip(a,...){|arr|...} 對集合進(jìn)行串接,然后進(jìn)行塊中的計(jì)算
load 'public/Testhelper.rb'
Testhelper::LoadHelper.loadpath
require 'ITestRunner'
require 'ITestcode'
$VERSION= Testconst::VERSION_DEFAULT
class ITestRunner
def help
puts "testrb.rb -h"
puts "testrb.rb -all"
self
end
#gets
end
runner=ITestRunner.instance
#runner.run( )#Testconst::VERSION_BM200 Testconst::VERSION_DEFAULT
#ITestRunnerTest.instance.run(:TestConfigHelper,:testCfg)
#ITestRunnerSuite.instance.run( :TestProxy ) #:TestThread :TestBSInfo :TestProxy
#ITestRunnerSuite.instance.run( :TestBSInfo ) #:TestThread :TestBSInfo :TestProxy
#ITestRunnerSuite.instance.run( :TestBinlog_300 ,Testconst::VERSION_BM300 )
ITestRunnerSuite.instance.run( :TestcaseSqlite )
ITestRunnerSuite.instance.run( :TestThread )
#bsinfo=BSTestInfo.new
#puts cmd= bsinfo.cmdtype
#
附件:http://down.51cto.com/data/2361236