Junit3 和 Junit4 有本质上的区别

1、普通java类,代码如下:

package learn.junit;

public class HelloWorld {

    public String Hello(){
return "world";
} public String World(){
return "hello";
} public String Nil(){
return null;
} public String NotNil(){
return "abs";
} public String ext(){
throw new NumberFormatException();
}
}

2、测试单元类,代码如下:

package learn.junit.test;

import junit.framework.TestCase;
import learn.junit.HelloWorld;
/**
* 基于 3.8 之前的版本(包括 3.8 版本)必须要继承 TestCase
*/
public class JunitTest extends TestCase { private HelloWorld hw;
// 初始化方法
@Override
protected void setUp() throws Exception{
super.setUp();
hw = new HelloWorld();
System.out.println("Hello World init!");
} // 方法只要有 test开头就是单元测试类
public void testHello(){
String str = hw.Hello();
// 第二个参数数期望值,第三个参数是实际值; 如果期望值和实际值不相等,则返回 第一个参数值,反之不返回
assertEquals("测试Hello失败!", str, "world");
} public void testWorld(){
String str = hw.World();
assertEquals("测试World失败!", str, "hello");
} public void testNotNil(){
// 测试对象不为空,如果为空,则测试失败
assertNotNull("对象为空!", hw.NotNil());
} public void testNil(){
// 测试对象为空,如果不空,则测试失败
assertNull("对象不为空,测试失败!", hw.Nil());
} public void testExt(){
try{
hw.ext();
fail("没有抛出异常!!");
}catch(NumberFormatException e){ }
} // 结束方法
@Override
protected void tearDown() throws Exception{
super.tearDown();
System.out.println("Hello World destory!");
hw = null;
}
}

测试单元需要导入相应的 Junit jar包

Ant学习---第五节:Ant_Junit介绍(基于3的版本)的更多相关文章

  1. VUE2.0实现购物车和地址选配功能学习第五节

    第五节 单件商品金额计算和单选全选功能 1.vue精髓在于操作data模型来改变dom,渲染页面,而不是直接去改变dom 2.加减改变总金额功能: html:<div class="c ...

  2. leveldb 学习记录(五)SSTable格式介绍

    本节主要记录SSTable的结构 为下一步代码阅读打好基础,考虑到已经有大量优秀博客解析透彻 就不再编写了 这里推荐 https://blog.csdn.net/tankles/article/det ...

  3. Ant学习---第四节:Ant属性的介绍

    一.ant 属性设置,用 property 标签,详解如下: 特点 大小写敏感: 不可改变,先到先得,谁先设定,之后的都不能改变. 设置 1 .设置 name 和 value 属性值,比如: < ...

  4. Python学习-第五节:面向对象

    概念: 核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么......,基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式.若程序一开始是要着手解决一个大的问题,面向 ...

  5. spring学习(五)详细介绍AOP

    AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待 它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封 ...

  6. JPA学习---第五节:日期和枚举等字段类型的JPA映射

    1.在上一节可在数据库中看到创建出来的表和字段,是通过 Entity bean 来创建的,而创建表名和字段名的规则是怎样的? 有类,代码如下: package learn.jpa.bean; impo ...

  7. Netty学习第五节实例进一步学习

    概念理解: Netty是基于NIO的框架  传统IO与NIO的区别:       1.传统IO会造成阻塞点:       2.单一的客户端处理消息 解决阻塞问题:建立线程池,达到收到一个消息就建立一个 ...

  8. Coursera在线学习---第五节.Logistic Regression

    一.假设函数与决策边界 二.求解代价函数 这样推导后最后发现,逻辑回归参数更新公式跟线性回归参数更新方式一摸一样. 为什么线性回归采用最小二乘法作为求解代价函数,而逻辑回归却用极大似然估计求解? 解答 ...

  9. Hibernate学习---第五节:普通组件和动态组件

    一.普通组件映射配置 1.创建组件类,代码如下: package learn.hibernate.bean; /** * 组件类 */ public class Phones { private St ...

随机推荐

  1. EnCase v7 could not recognize Chinese character folder names / file names on Linux Platform

    Last week my friend brought me an evidence file duplicated from a Linux server, which distribution i ...

  2. Unieap3.5-需要用到window.setTimeout的地方

    1.js大数据量操作且需要显示进度条 unieap.showLoading(true);//进度条 window.setTimeout(function(){ checkUtils.setAllRow ...

  3. 2.3搭建Android应用程序开发环境

    1.安装Android SDK (1)首选下载Android SDK: (2)下载完成之后,在Ubuntu系统下进行解压: (3)解压完成之后,配置环境变量: ①用vim打开/etc/profile文 ...

  4. 设计模式-代理模式(Proxy)

    应用场景: 领导都有秘书,一般会代理领导的部分职能角色,处理签字.报销.开会等任务.很多新人可能都只知道秘书的存在,毕竟每天与其打交道,不知道领导的存在.但是领导的的确确是真实存在的. 场景说明: 代 ...

  5. CTest

    一.初识CTest CTest是CMake集成的一个测试工具,在使用CMakeLists.txt文件编译工程的时候,CTest会自动configure.build.test和展现测试结果 CTest有 ...

  6. Windows2003屏蔽IP

    1.打开本地安全策略   2.创建新的IP策略   去掉勾选向导  我们编辑 直接右键指派   指派可以看出来生效...网络已经不通了              

  7. SQL服务器更改名称后

    SQL服务器更改名称后 编写人:CC阿爸 2014-6-15 在日常SQL 2005数据库的操作中,有时安装完成数据库后,再更名,造成部分SQL服务不能正常使用(在SQL2000 时,想都别想更名了) ...

  8. [原]Django慢请求分析工具--dogslow

    当你的网站突然变慢了,你怎么办? 先看监控,查看系统的资源消耗,CPU?IO?磁盘? 然后看日志,查看第一个出现慢请求的接口是哪个? 然后看依赖的服务,是第三方服务还是DB瓶颈,还是redis变慢,还 ...

  9. 图片来自腾讯,未经授权不可引用,js解决方法

    问题记录,解决后来更新 js伪造Referer, 外链图片让用户浏览时,不发送 referer 字段给原网站的方法 A 网站引用了 B 站的 图片 <img src="b_url&qu ...

  10. php中利用正则去掉中文全角空格

    一开始用$temp = trim($temp, " "); 这种方法,导致trim后的中文字符有乱码 最后 $str = " 广东君孺律师事务所 "; $str ...