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. C++读取ini文件的类

    取自:http://www.viksoe.dk/code/all_mfc.htm,里面有各种MFC常用的类 // Ini.h: interface for the CIni class. // // ...

  2. MYSQL数据导入导出

    在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. 进入cmd 导出所有数据库:输入:mysqldump -u ...

  3. 添加favicon.ico网站文件

    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" me ...

  4. java编程思想第四版中 net.mindview.util包

    操作系统: win8.1 编译环境 JDK1.6 编辑器 notepad++ 第48页练习8 1 下载相应程序包 Thinking in Java 4ed - CODE 2 设置相应的CLASSPAT ...

  5. 在VS中快速查看文件被谁签出

    步骤如下: 1 在VS中的菜单上单击鼠标右键,然后选择显示“源代码管理” 2 选中要查看的文件后,在源代码管理中单击“属性” 3 打开第2个标签页“Check Out Status”,可以看到签出人等 ...

  6. pos机抹零功能

    抹零功能设置包括抹分-0.抹角-1.抹元-2. 前台界面和逻辑代码如下 //抹零设置 2016/8/16 QT if (sweepCents.Checked==true) { BusinessClas ...

  7. Silverlight 独立存储(IsolatedStorageFile)

    1.在Web中添加天气服务引用地址 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 2.在Web中添加Wcf服务接口I ...

  8. MongoDb Replica Set中使用的地址

    Unable to connect to a member of the replica set matching the read preference Primary 今天尝试使用MongoDB ...

  9. 纯js拖拽参考

    function myDrag(obj){ obj.onmousedown=function(e){ var e=e||window.event; var diffX=e.clientX-this.o ...

  10. ubuntu下svn使用指南

    ubuntu下安装subversion客户端: sudo apt-get install subversion subversion-tools 详细请看 http://www.subversion. ...