junit 零基础入门_第1页
junit 零基础入门_第2页
junit 零基础入门_第3页
junit 零基础入门_第4页
junit 零基础入门_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA 核心技术(中级),刘彬 微博 ,目 录,单元测试概述,单元测试越来越被看重: 非常不幸:上帝赐予我们青春的同时也赐予了我们青春痘;我们编出代码的同时也编出了bug,这几乎是无法避免的 公认事实:bug发现得越早修复的代价越小 勿庸置疑:代码最早被测试的一环就是单元测试 单元测试:最早测试、最容易发现问题、修复成本最小,单元测试基本概念,对一个独立工作单元的测试,java中通常是对一个类或方法的测试,目的,检查方法的行为是否满足约定,查找代码最简单的错误、帮助确定系统需求,定义,举例说明单元测试确定需求,任何一个需求都可以分解细化成若干测试用例 假设需求:0:00-7:00 IVR方式

2、下载彩铃免费 1:00 IVR方式下载彩铃,出零话单 2:00 www方式下载彩铃,照常计费 3:00短信方式下载彩铃,照常计费 8:00 IVR方式下载彩铃,照常计费 23:00 IVR方式下载彩铃,照常计费,单元测试特点,小步前进简单,1,外部依赖多困难,2,测试用例多麻烦,3,有维护成本 讨厌,4,开发单元测试代码的原则,单元测试代码,单元测试思想总结,bug发现越早修复代价越小,可用,测试是编码的逆向思维,最容易验证代码的正确性,借助自动化单元测试工具减少开发、维护成本,有用,单元测试工具帮助解决问题,大名鼎鼎的JUnit框架,设计的出发点: 有效抓住开发人员编写代码的意图,然后快速检

3、查代码是否与原始意图相匹配 要解决的问题: 发现开发人员的代码意图,然后如何使开发人员更加容易得表达他们的代码意图 能解决的问题(Why Junit): 测试代码的编写、执行变得容易 组织、管理测试代码,降低维护成本 测试代码的成果易于保存并重复利用,JUnit 基础知识,testxxx,fixture,assert,bar,继承了testcase测试类的一个方法,相当于一个测试用例,调用每个导致) testxxx()前后固定执行的环境搭建和拆除函数(testcase调用顺序不定,检验expect和actual是否匹配的系列函数;通过assert检验的用例被认为是成功的,否则就认为是失败,Ec

4、lipse“Run as JUnit”执行测试用例,符合assert表示成功(显示绿条)、否则为失败(蓝条)、程序抛异常会报错(红条),JUnit3.x 印象,extends,import,setup,teardown,fixture,testxxx,Run,framework,JUnit 3.x 示例,public class Junit3 extends TestCase protected void setUp() super.setUp(); /fixture public void testMul() double ret = cal.mul(12.5, 2.0); /assert语

5、句:谓(Equals)+主(ret)+宾(25.0) assertEquals(ret, 25.0); ,走进JUnit 4.x(1),必须Java 5 以上环境,1,不再需要extends testcase类,2,使用annotation注解体现操作,3,4,全局初始化方法BeforeClass,Junit 4 示例,public class junit4 private static multiple cal; BeforeClass public static void globalInit() cal = new multiple(); Before public void init(

6、) System.out.println(init); Test public void simpleTest() int result = cal.mul_int(3, 5); assertThat(result, is(15); ,走进JUnit 4.x(2),5,异常处理:Test (expected,timeout),6,Assume假设机制,提供过虑条件,7,assertThat替代其它assert语句,8,方法名不再有限制,建议保持原习惯,JUnit 最佳实践(1),JUnit 最佳实践(2),JUnit使用注意事项,Java类加载机制引起 java虚拟机和程序都调用ClassLoader类的loadClass的方法来加载 ExtClassLoader是AppClassLoader的父类 ExtClassLoader加载/jre/ lib/ext下的jar包 ( junit.jar ) AppClassLoader加载classpath环境变量指定的路径中的类 (被测试类) ExtClassLoader不知AppClass

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论