JUnit 简介.ppt

上传人:大张伟 文档编号:6358527 上传时间:2020-11-01 格式:PPT 页数:35 大小:3.04MB
返回 下载 相关 举报
JUnit 简介.ppt_第1页
第1页 / 共35页
JUnit 简介.ppt_第2页
第2页 / 共35页
JUnit 简介.ppt_第3页
第3页 / 共35页
JUnit 简介.ppt_第4页
第4页 / 共35页
JUnit 简介.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《JUnit 简介.ppt》由会员分享,可在线阅读,更多相关《JUnit 简介.ppt(35页珍藏版)》请在三一文库上搜索。

1、JUnit 介绍,郑艳 王美红,课程内容,JUnit 简介 几个相关的概念 初识JUnit单元测试框架 单元测试工具 示例:在Eclipse中使用JUnit4进行单元测试 JUnit 框架 JUnit几个核心类及接口 Assert 超类所提供的8个核心方法 TestCase提供了10个自己的方法 JUnit4.X 版本与以前版本的区别,JUnit 简介,JUnit是由 Erich Gamma 和 Kent Beck 编写的一个测试框架。 开源软件 支持语言有Smalltalk,Java,C+,Perl等 支持的IDE:JBuilder, VisualAge,Eclipse等 JUnit测试是程

2、序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。,几个相关的概念,白盒测试把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的。 回归测试软件或环境的修复或更正后的“再测试”,自动测试工具对这类测试尤其有用。 单元测试是最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需要知道内部程序设计和编码的细节。 JUnit 是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。,初识JUnit单元测试框架

3、,单元级测试在面向对象的开发中变得越来越重要,而一个简明易学、适用广泛、高效稳定的单元级测试框架对成功的实施测试有着至关重要的作用。在java编程环境中,Junit Framework是一个已经被多数java程序员采用和实证的优秀的测试框架。开发人员只需要按照Junit的约定编写测试代码,就可以对自己要测试的代码进行测试。,单元测试工具,目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为 JUnit(java) CppUnit(C ) DUnit (Delphi ) NUnit(.net) PhpUnit(Php )等等。,示例:在Eclipse中使用JUnit4进行单元测

4、试,第一步:将JUnit4单元测试包引入项目,在该项目上点右键,点“属性” 选择“Java Build Path”,选择“Libraries”标签, 点击“Add Library”按钮,第二步,生成JUnit测试框架,在Eclipse的Package Explorer中右点Calculate.java, 选择new - “JUnit Test Case”,第二步,生成JUnit测试框架,在Eclipse的Package Explorer中右点Calculate.java, 选择new - “JUnit Test Case”,Eclipse自动生成的框架,org.junit.* ;把junit包

5、import进来之后,绝大部分功能就有了。 import static org.junit.Assert.*; 我们在测试的时候使用的一系列assertEquals等方法就来自这个包。 注:assertEquals是Assert类中的一系列的静态方法,一般的使用方式是Assert. assertEquals(),但是使用了静态包含后,前面的类名就可以省略了,使用起来更加的方便。,(一)Import 测试包,(二)测试类的声明,测试类是一个独立的类,没有任何父类。测试类的名字也可以任意命名,没有任何局限性。但是建议都用类名+Test 来命名。 我们不能通过类的声明来判断它是不是一个测试类,它与普

6、通类的区别在于它内部的方法的声明,(三)创建一个待测试的对象,你要测试哪个类,那么你首先就要创建一个该类的对象。 为了测试Calculator类,我们必须创建一个calculator对象。,(四)测试方法的声明,在测试类中,并不是每一个方法都是用于测试的,你必须使用“标注”来明确表明哪些是测试方法。 Before、Test、Ignore,(五)编写一个简单的测试方法,使用Test标注,以表明这是一个测试方法。 方法名字可以随便取,没有任何限制,但是规范写法是test+方法名,方法名第一个子母大写。 方法的返回值必须为void, 方法不能有任何参数。 如果违反这些规定,运行时会抛出一个异常,我们

7、期待的结果应该是5。 assertEquals(5, calculator.getResult();就是来判断期待结果和实际结果是否相等 第一个参数填写期待结果,第二个参数填写实际结果 。 JUnit会自动进行测试并把测试结果反馈给用户,(六)忽略测试某些尚未完成的方法,加上Ignore标注的含义就是“某些方法尚未完成,暂不参与此次测试”。 这样的话测试结果就会提示你有几个测试被忽略,而不是失败,(七)Fixture “固定代码段”,Before,After是每个方法测试时候必然被调用的代码 保证每一个测试都是独立的,相互之间没有任何耦合度 这里不需要Test标注,因为这不是一个test,测试

8、开始-setUp-testXXXX-tearDown-测试结束,BeforeClass 或 AfterClass,只在测试用例初始化时执行BeforeClass方法,当所有测试执行完毕之后,执行AfterClass进行收尾工作 用于测试读取文件等耗时的方法。 该方法必须是public和static的,(八)限时测试,对于那些逻辑很复杂,循环嵌套比较深的程序采用限时测试 函数设定一个执行时间,超过了这个时间,他们就会被系统强行终止,并且系统还会向你汇报该函数结束的原因是因为超时,(九)测试异常,expected属性用来测试函数应该抛出的异常,(十)Runner (运行器),JUnit中有一个默认

9、Runner,如果你没有指定,那么系统自动使用默认Runner来运行你的代码 RunWith是用来修饰类 ,可以指定需要的Runner,(十一)参数化测试,可以将所有参数集中起来一起测试,步骤如下: 1:你要为这种测试专门生成一个新的类 2:定义一个待测试的类,并且定义两个变量,一个用于存放参数,一个用于存放期待的结果 3:定义测试数据的集合 ,用Parameters标注进行修饰 4:创建构造函数对先前定义的两个参数进行初始化,(十二)打包测试,步骤: 1:用RunWith标注传递一个参数Suite.class。 2:用Suite.SuiteClasses表明这个类是一个打包测试类。 3:把需

10、要打包的类作为参数传递给该标注,第三步:Eclipse中如何运行测试类,右击测试类- Run As-JUnit Test,第四步:测试结果(1):运行CalculatorTest,失败,失败,第四步:测试结果(2):运行SquareTest,第四步:测试结果(3):运行AllCalculatorTests,JUnit 框架,JUnit几个核心类及接口,Assert 超类所提供的8个核心方法,TestCase提供了10个自己的方法,JUnit4.X 版本与以前版本的区别,1.测试类不必再从junit.framework.TestCase派生了; 2.测试方法也不必再以“test”作为前缀,而是代之以Test注解来表示; 3.作为Fixtures的setUp与tearDown也不再强制使用这两个方法名了,只要在任何方法名称前冠以Before或After,即可达到一样的效果; 4.对setUp/tearDown的一大改进还包括,可以限定二者只在整个test case范围内执行一次,这是通过BeforeClass和AfterClass注解达成的; 5.Test 注解还可以带上timeout 参数和expected参数,前者代表测试方法超过指定时间即被认为失败,后者则声明了预期被抛出的异常类型。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1