- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单元测试工具Junit
单元测试工具Junit 本章目标 单元测试的目的 掌握如何利用Junit编写简单测试 了解Junit的基本框架 引入 测试驱动开发(”(Test-Driven Development, 简称TDD) 是极限编程(Extreme programming 简称XP)的重要特点 以持续性的测试来推动代码的开发,即可以简化代码,又可以保证质量。它改变了先编写代码,后编写测试,而是先编写测试,然后在编写代码来满足测试的方法。 这样使得测试工作不仅仅是单纯的测试,而成为了设计的一部分。当你习惯了这种编程方式之后,你会发现,TDD会成为你的得力助手。 Junit可以成为一个TDD或单元测试很好的工具 JUnit的目标 JUnit 就是为 Java 程序开发者实现单元测试提供一种框架,使得 Java 单元测试更规范有效,并且更有利于测试的集成 框架的三个目标 第一个是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写; 第二个是使测试单元保持持久性; 第三个则是可以利用既有的测试来编写相关的测试。 一个例子 一个例子 package TestOne; import junit.framework.*; public class TestLargest extends TestCase{ public TestLargest(String name){ super(name); } public void testSimple(){ assertEquals(9,Largest.largest(new int[]{7,8,9})); } } 一个例子 一个例子 测试出现错误 修改 一个例子 【思考】用哪些数组来进行测试 考虑: 最大数的位置变化:最左、中间、最右 数组只有一个数 数组中有负数、相同的数 测试为空 一个例子 最大数的位置变化:最左、中间、最右 Public void testOrder(){ assertEquals(9,Largest.largest(new int[]{7,8,9})); assertEquals(9,Largest.largest(new int[]{7,9,8})); assertEquals(9,Largest.largest(new int[]{9,7,8})); } 出现错误,原因?? 数组只有一个数 public void testOne(){ assertEquals(9,Largest.largest(new int[]{9})); } 一个例子 数组中有负数 public void testNegative(){ assertEquals(-3,Largest.largest(new int[]{-6,-5,-3})); } 出现错误,原因?? 一个例子 测试为空 public void testEmpty(){ try{ Largest.largest(new int[]{}); fail(抛出一个异常); }catch(RuntimeException e){ assertTrue(true); } } 修改考虑数组为空的情况抛出异常 if (list.length==0){ throw new RuntimeException(Empty list); } Lesson Learned Code a little, test a little 三 使用JUnit进行单元测试 构建单元测试 JUnit的各种断言 Junit的框架 Junit软件结构 自定义JUnit断言 JUnit和异常 3.1 构建单元测试 命名习惯 如果有一个需要测试的createAccount方法,则相应的测试方法应取名为testCreateAccount 当然还有很多其他相关的测试方法,也必须取名为testXxx 3.1 构建单元测试 测试代码的准备工作 准备测试所需要的各种条件:创建对象、分配资源 选择要测试的方法,设计测试用例。 验证被测试方法的行为与期望是否一致 完成后清理资源 3.2 JUnit的断言 JUnit给定的函数,帮助确定被测试函数是否工作正常,这些函数统称为断言。它是单元测试的最基本组成部分 每个函数都会记录失败或者错误,并通过JUnit的类来包裹错误。 在控制台上将通过红色条及辅助信息来说明。 JUnit 的断言 assertEquals(Object expected,Object actual):两个对象是否相同 assertEquals(int expected,int actual):原始类型是否相同。 assertNull:指针是否为空 assertSame assertEquals(Object expected,Object act
您可能关注的文档
- 华天三相EPS使用说明书.doc
- 华南理工大学交换行前说明会(短期).ppt
- 华师一附中高二期中考试题英语试题(含解析).doc
- 华师一附中2015-2016学年高二上学期期中考试英语试题.doc
- 华师2012年高频电路复习课件.ppt
- 华北电力大学高电压技术1-6.ppt
- 华师大高中历史第五分册辅导报告.ppt
- 华塑锅炉规程第二版).doc
- 华南理工大学电力系统分析试卷4含答案.doc
- 华星煤业电器设备安装标准.doc
- 2023年高考生物一轮复习(全国版) 第4单元 微专题三 减数分裂与可遗传变异的关系.pdf
- 2023年高考生物一轮复习(全国版) 第8单元 第7课时 免疫失调和免疫学的应用.pdf
- 2023年高考生物一轮复习(全国版) 第9单元 第2课时 种群数量的变化.pdf
- 2012-2013学年新人教版高中语文必修5课时作业4-11.pdf
- 2012高考物理高频考点.doc
- 2012高考物理答题技巧.doc
- 浙江省衢州市2020年中考语文试题(解析版).docx
- 2012高考物理高频考点.docx
- 2023年高考生物一轮复习(全国版) 第10单元 第2课时 基因工程的应用和蛋白质工程.pdf
- 湖南省常德市2020年中考语文试题(解析版).doc
文档评论(0)