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. 第六章_PHP数组(二)

    这篇随笔是对预定义数组变量的总结.通过预定义数组变量,我们可以获得系统环境.用户对话.表单数据等信息. 1.服务器变量:$_SERVER 利用foreach语句打印$_SERVER中的所有元素: &l ...

  2. 《Linux运维趋势》2010-2013年全部期刊下载

    <Linux运维趋势>2010.rar <Linux运维趋势>2011_上.rar <Linux运维趋势>2011_下.rar <Linux运维趋势>2 ...

  3. HTML5应用之时钟

    利用HTML5的Canvas API可以完成我们以前意想不到的动画效果,以前我们想在网页上放置一个时钟,需要先用flash工具制作一个钟表,并写上复杂的JavaScript代码,然后载入到页面中.而H ...

  4. iOS中UIKit——UIDataDetectors(数据检测器)它将电话、邮件、网址等变为链接

    1.它用于UITextView和UIWebView,属性名为:dataDetetorTypes 2.此属性可以设定使符合电话.邮件.网址.符合格式的日期等文字变为链接文字. 3.电话号码点击后拨出电话 ...

  5. 转载Mongondb

    转自(http://blog.csdn.net/lchjustc/article/details/16988251) Mongodb调研 1.   调研目的 现在公司缺乏一个通用的key-value存 ...

  6. css半透明

    filter:alpha(opacity=80); /*支持 IE 浏览器*/-moz-opacity:0.80; /*支持 FireFox 浏览器*/opacity:0.80; /*支持 Chrom ...

  7. 使用虚拟机在ubuntu下搭建mongoDB开发环境和简单增删改查操作

    最近在折腾mongodb和nodejs,在imooc上找了一个mongodb的入门教程,跟着里面一步一步的走,下面记录下我操作的步骤和遇到的问题. 课程地址:http://www.imooc.com/ ...

  8. PHP通过字符串调用函数

    1. call_user_func function a($b,$c){ echo $b; echo $c; } call_user_func('a', "111","2 ...

  9. How to using to code import to GL journal[AX2012]

    static void THK_importLedgerJournalTrans(Args _args) { Filename fileName = "C:\\Users\\ksiu3880 ...

  10. 使用RMAN验证备份的有效性

    --验证控制文件和参数文件: RMAN> restore validate controlfile; Starting allocated channel: ORA_DISK_1 channel ...