您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
Junit单元测试入门简介
作者:网络转载 发布时间:[ 2014/3/26 14:07:34 ] 推荐标签:白盒测试 单元测试 junit

3.4、junit的安装和配置

junit安装步骤分解:

在http://download.sourceforge.net/junit/中下载junit包并将junit压缩包解压到一个物理目录中(例如c:\junit3.8.1)。
记录junit.jar文件所在目录名(例如c:\junit3.8.1junit.jar)。
进入操作系统(以windows2000操作系统为准),按照次序点击“开始 设置 控制面板”。
在控制面板选项中选择“系统”,点击“环境变量”,在“系统变量”的“变量”列表框中选择“class-path”关键字(不区分大小写),如果该关键字不存在则添加。
双击“class-path”关键字添加字符串“c:\junit3.8.1junti.jar”(注意,如果已有别的字符串请在该字符串的字符结尾加上分号“;”),这样确定修改后junit可以在集成环境中应用了。
对于ide环境,对于需要用到的junit的项目增加到lib中,其设置不同的ide有不同的设置 。
3.5、junit中常用的接口和类

test接口——运行测试和收集测试结果

test接口使用了composite设计模式,是单独测试用例 (testcase),聚合测试模式(testsuite)及测试扩展(testdecorator)的共同接口。
它的public int counttestcases()方法,它来统计这次测试有多少个testcase,另外一个方法是public void run( testresult ),testresult是实例接受测试结果, run方法执行本次测试。
testcase抽象类——定义测试中固定方法

testcase是test接口的抽象实现,(不能被实例化,只能被继承)其构造函数testcase(string name)根据输入的测试名称name创建一个测试实例。由于每一个testcase在创建时都要有一个名称,若某测试失败了,便可识别出是哪个测试失败。
testcase类中包含的setup()、teardown()方法。setup()方法集中初始化测试所需的所有变量和实例,并且在依次调用测试类中的每个测试方法之前再次执行setup()方法。teardown()方法则是在每个测试方法之后,释放测试程序方法中引用的变量和实例。
开发人员编写测试用例时,只需继承testcase,来完成run方法即可,然后junit获得测试用例,执行它的run方法,把测试结果记录在testresult之中。
assert静态类——一系列断言方法的集合

assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,assert类会抛出一个assertionfailederror异常,junit测试框架将这种错误归入failes并加以记录,同时标志为未通过测试。如果该类方法中指定一个string类型的传参则该参数将被做为assertionfailederror异常的标识信息,告诉测试人员改异常的详细信息。
junit 提供了6大类31组断言方法,包括基础断言、数字断言、字符断言、布尔断言、对象断言。
其中assertequals(object expcted,object actual)内部逻辑判断使用equals()方法,这表明断言两个实例的内部哈希值是否相等时,好使用该方法对相应类实例的值进行比较。而assertsame(object expected,object actual)内部逻辑判断使用了java运算符“==”,这表明该断言判断两个实例是否来自于同一个引用(reference),好使用该方法对不同类的实例的值进行比对。asserequals(string message,string expected,string actual)该方法对两个字符串进行逻辑比对,如果不匹配则显示着两个字符串有差异的地方。comparisonfailure类提供两个字符串的比对,不匹配则给出详细的差异字符。
testsuite测试包类——多个测试的组合

testsuite类负责组装多个test cases。待测得类中可能包括了对被测类的多个测试,而testsuit负责收集这些测试,使我们可以在一个测试中,完成全部的对被测类的多个测试。
testsuite类实现了test接口,且可以包含其它的testsuites。它可以处理加入test时的所有抛出的异常。
testsuite处理测试用例有6个规约(否则会被拒绝执行测试)
a 测试用例必须是公有类(public)

b 测试用例必须继承与testcase类

c 测试用例的测试方法必须是公有的( public )

d 测试用例的测试方法必须被声明为void

e 测试用例中测试方法的前置名词必须是test

f 测试用例中测试方法误任何传递参数

n testresult结果类和其它类与接口

testresult结果类集合了任意测试累加结果,通过testresult实例传递个每个测试的run()方法。testresult在执行testcase是如果失败会异常抛出
testlistener接口是个事件监听规约,可供testrunner类使用。它通知listener的对象相关事件,方法包括测试开始starttest(test test),测试结束endtest(test test),错误,增加异常adderror(test test,throwable t)和增加失败addfailure(test test,assertionfailederror t)
testfailure失败类是个“失败”状况的收集类,解释每次测试执行过程中出现的异常情况。其tostring()方法返回“失败”状况的简要描述


3.6、junit一个实例

在控制台中简单的范例如下:
1、写个待测试的triangle类,创建一个testcase的子类exampletest:
2、 exampletest中写一个或多个测试方法,断言期望的结果(注意:以test作为待测试的方法的开头,这样这些方法可以被自动找到并被测试)
3、 exampletest中写一个suite()方法,它会使用反射动态的创建一个包含所有的testxxxx方法的测试套件:
4、 exampletest可以写setup()、teardown()方法,以便于在测试时初始化或销毁测试所需的所有变量和实例。(不是必须的)

5、写一个main()方法以文本运行器或其它gui的方式方便的运行测试

6、编译exampletest,执行测试。

3.7、eclipse中junit的使用

eclipse自带了一个junit的插件,不用安装可以在你的项目中开始测试相关的类,并且可以调试你的测试用例和被测试类。

使用步骤如下:

1、新建一个测试用例,点击“file->new->other…菜单项,在弹出的“new”对话框中选择”java->junit”,下的testcase 或testsuite,进入“new junit testcase”对话框

2、在“new junit testcase”对话框填写相应的栏目,主要有name(测试用例名),superclass(测试的超类一般是默认的junit.framework.testcase),class under test(被测试的类),source folder(测试用例保存的目录),package(测试用例包名),及是否自动生成main,setup,teardown方法。

3、如果点击下面的”next>”按钮,你还可以直接勾选你想测试的被测试类的方法,eclipse将自动生成与被选方法相应的测试方法,点击“fishish”按钮后一个测试用例创建好了。

4、编写完成你的测试用例后,点击“run”按钮可以看到运行结果了。

上一页12345下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd