使用指南及作业规范V1.0Keepthebargreenkeepthecodeclean!作者:shaomeng95BLOG:使用指南及作业规范Copyright©2011shaomeng95版权所有Page2of23目录1.JUNIT总览...................................................................................................................................31.1简介.......................................................................................................................................31.2特性.......................................................................................................................................31.3适用对象...............................................................................................................................32JUNIT使用...................................................................................................................................32.1JUNIT3.X使用.........................................................................................................................32.1.1下载与安装......................................................................................................................32.1.2使用方法..........................................................................................................................42.1.2.1基本流程(我们一般都是这么写)...................................................................................42.1.2.2重要概念和类(你必须了解的东西)...............................................................................52.1.2.3JUNIT固件的安装与拆除(测试方法启动和结束之前要做的)....................................62.1.2.4Eclipse中使用junit(有了开发工具对junit的支持后).................................................82.2JUNIT4.X使用.......................................................................................................................122.2.1下载与安装....................................................................................................................122.2.2使用方法........................................................................................................................132.2.2.1与3.x版本的异同(看谁更简单)..................................................................................132.2.2.2常用注解(体验annotation的简单便捷)......................................................................132.2.2.34.x新特性实战(实践出真知).......................................................................................143作业规范......................................................................................................................................214附录..............................................................................................................................................224.1下版计划.............................................................................................................................224.2修订记录.............................................................................................................................234.3参考文献.............................................................................................................................23Junit使用指南及作业规范Copyright©2011shaomeng95版权所有Page3of231.JUNIT总览1.1简介JUnit是由ErichGamma和KentBeck编写的一个回归测试框架。Junit测试是程序员测试,即所谓白盒测试。项目主页:下载地址:://sourceforge.net/projects/junit/files/junit/目前主要版本有3.X和4.X,它们之间存在很大的差别,故本文档将分别介绍3.X和4.X.1.2特性JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:1、用于测试期望结果的断言(Assertion)2、用于共享共同测试数据的测试工具3、用于方便的组织和运行测试的测试套件4、图形和文本的测试运行器1.3适用对象JUnit可以用于程序开发人员或专业测试人员进行单元测试。2JUNIT使用下面将分别基于junit3.8.1和junit4.8.1分别讲解junit的用法。2.1JUNIT3.X使用2.1.1下载与安装下载junit3.8.1包将压缩包中的junit.jar加入工程的classpath中Junit使用指南及作业规范Copyright©2011shaomeng95版权所有Page4of23至此,在工程中将可以使用junit编写测试代码了。2.1.2使用方法2.1.2.1基本流程(我们一般都是这么写)使用junit进行测试,一般可以总结为如下4个步骤:1)写测试类并继承TestCase类;2)写测试方法testXXXX();3)写测试套件类将testcase加入testsuite;4)运行TestRunner进行测试;如下代码所示,演示了基本的测试流程:RunasJavaApplication,显示如下结果://①继承TestCase类publicclassCalculatorTestextendsTestCase{//②测试方法必须以test开头publicvoidtestAdd(){intresult=newCalculatorTest().add(1,2);Assert.assertEquals(3,result);}//③将testcase加入testsuitepublicstaticTestsuite(){returnnewTestSuite(CalculatorTest.class);}//④使用TestRunner运行测试套件publicstaticvoidmain(String[]args){//junit提供了swing,awt,text三种测试运行器junit.awtui.TestRunner.run(CalculatorTest.class);}Junit使用指南及作业规范Copyright©2011shaomeng95版权所有Page5of23程序说明:第③步中的publicstaticTestsuite()为缺省的TestSuite入口,默认运行测试类中的所有测试方法,故一般suite()方法可以省略不写。第④步中可以使用的运行器有三种分别为基于AWT,SWING,TEXT三种。2.1.2.2重要概念和类(你必须了解的东西)TestCase(测试用例)当一个类继承junit的TestCase类,即成为一个测试类,它以testXXXX的形式包含测试方法(publicvoid修饰)。Junit使用指南及作业规范Copyright©2011shaomeng95版权所有Page6of23TestSuite(测试集合或测试套件)一组测试,将相关的测试归入一组,将多个测试方法归入一个testsuite,例如上例中的缺省testsuite默认会扫描测试类中的所有测试方法并归入测试集合。如果没有为testcase写testsuite的话,系统会默认为每个testcase生成一个testsuite。TestRunner(测试运行器)用于执行TestSuite,继承抽象类BaseTestRunner。可以使用BaseTestRunner的子类junit.awtui.TestRunner、junit.swingui.TestRunner、junit.textui.TestRunner来运行测试集合。TestResult(测试结果)用于包含测试中发生的错误,次数等。Assert(断言)用于检测条件是否成立,当条件成立则Assert方法通过,否则抛出异常。例如Assert.assertEquals(3,