• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

XP单元测试工具Junit源代码学习

发布: 2009-3-25 11:15 | 作者: 不详 | 来源: 测试时代采编 | 查看: 127次 | 进入软件测试论坛讨论

领测软件测试网

主要方法

public:
LoadingTestCollector:初始话,实例化fLoader
protected:
isTestClass:覆盖父类中的方法,注意还有一个Package private(Default)的
isTestClass 。使用classFromFile 从文件生成一个Class 后调用Package
private(Default)的isTestClass 判断是否是一个测试类。
package private(Default):
classFromFile:使用TestCaseClassLoader 从一个文件中装入类
isTestClass:判断一个Class 是否是一个测试类,判断的依据是是否包括一
个在BaseTestRunner. SUITE_METHODNAME定义名称的方法(suite)方法或者
是具有以下特性:
1、实现了Interface test,
2、有一个Public 的Constructor 方法
3、Modifier 是public 的
hasSuiteMethod:判断十分有BaseTestRunner. SUITE_METHODNAME定义
名称的方法
hasPublicConstructor:判断是否有有一个Public 的Constructor 方法
Class BaseTestRunner
BaseTestRunner 是一个抽象类,是所有Runner 的基类。BaseTestRunner 使用
类静态代码,在被初始化的时候运行。
主要属性
public static final String SUITE_METHODNAME= "suite":suite 方法定义
static Properties fPreferences:保存参数
static int fgMaxMessageLength= 500:定义最长Message 长度
static boolean fgFilterStack= true:是否过虑错误信息
boolfPreferencesean fLoading= true:标志是否使用自定义的ClassLoad 类

主要方法

Public:
getTest : 根据suiteClassName 名称返回一个TEST 类, 如果类有
SUITE_METHODNAME 定义的方法, 调用suite 方法, 否则返回new
TestSuite(testClass),创建一个新的suite。
elapsedTimeAsString:将时间转为指定格式的字符串
setLoading:设置fLoading
extractClassName:从一个字符串中返回ClassName,主要是处理VA/Java style
truncate:static 方法,将一个字符串截为指定长度
getLoader : 判断并返回使用ReloadingTestSuiteLoader 还是
StandardTestSuiteLoader,调用useReloadingTestSuiteLoader 方法
getPreference:从fPreferences 中返回指定的参数值
inVAJava:判断是否在VisualAge 环境中
getFilteredTrace:将参数Throwable t 中包括的信息进行过滤(Filter)并返回
处理后的字符信息
filterStack:对字符进行过滤
filterLine:判断字符是否应该过滤
protected:
processArguments:处理传入的参数,如果参数中包括了要运行TestSuite 则
返回TestSuite 名称,如果参数中包括“-noloading”,则调用setLoading(false)
不使用ReloadingTestSuiteLoader,使用StandardTestSuiteLoader。如果参数中包
括”-nofilterstack”,设置fgFilterStack="false,可以使用“-c" xxx”指定要测试的类
runFailed:abstract 方法,运行失败时处理
loadSuiteClass:从一个TestSuite 的名称装入一个类,调用getLoader 来判断
使用ReloadingTestSuiteLoader 还是StandardTestSuiteLoader
clearStatus:清楚状态信息,需要子类覆盖
useReloadingTestSuiteLoader:判断是否使用ReloadingTestSuiteLoader
private:
getPreferencesFile:读取参数配置文件,配置文件名称为junit.properties,
应该放在System.getProperty("user.home")指定的目录下
readPreferences:将参数配置文件中的内容放到fPreferences 中
程序中的静态代码完成fPreferences 的初始话及读取参数文件、设置
fgMaxMessageLength。
Package textui
Package textui 仅有一个类TestRunner,用于实现文本方式的运行。
Class TestRunner
继承BaseTestRunner,TestRunner 用于完成文本方式的测试运行。
主要属性:
PrintStream fWriter= System.out:输出流
int fColumn= 0:仅用于startTest 方法,其实可以不用

主要方法:

Public:
TestRunner:构造函数,可以自己指定输出流
getLoader : 覆盖父类方法, 只使用默认的类装入
(StandardTestSuiteLoader)
addError:synchronized 方法,增加一个错误
addFailure:synchronized 方法,增加一个失败
doRun:运行指定的TestSuite 并返回TestResult
startTest:开始测试
endTest:结束测试
main:运行函数,用于外部直接调用。将参数直接转给start 方法。主要
参数为
-wait:设定等待
-v:显示版本号
-c 类名称:要运行的测试类
具体看start 方法。
print:synchronized 方法,输出结果,调用printErrors(result);
printFailures(result);
printHeader(result);
printErrors:输出错误
printFailures:输出失败
printHeader:输出总计
run:运行指定的TestCase/TestSuite
runAndWait:运行指定的TestSuite 并等待,参看pause 方法
Protected
createTestResult:创建一个TestResult
pause:判断是否要pause
start:运行测试,由main 方法调用。
runFailed:运行失败处理方法
writer:返回输出流fWriter

文章来源于领测软件测试网 https://www.ltesting.net/

33/3<123

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网