Ant学习---第五节:Ant_Junit介绍(基于3的版本)
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的版本)的更多相关文章
- VUE2.0实现购物车和地址选配功能学习第五节
第五节 单件商品金额计算和单选全选功能 1.vue精髓在于操作data模型来改变dom,渲染页面,而不是直接去改变dom 2.加减改变总金额功能: html:<div class="c ...
- leveldb 学习记录(五)SSTable格式介绍
本节主要记录SSTable的结构 为下一步代码阅读打好基础,考虑到已经有大量优秀博客解析透彻 就不再编写了 这里推荐 https://blog.csdn.net/tankles/article/det ...
- Ant学习---第四节:Ant属性的介绍
一.ant 属性设置,用 property 标签,详解如下: 特点 大小写敏感: 不可改变,先到先得,谁先设定,之后的都不能改变. 设置 1 .设置 name 和 value 属性值,比如: < ...
- Python学习-第五节:面向对象
概念: 核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么......,基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式.若程序一开始是要着手解决一个大的问题,面向 ...
- spring学习(五)详细介绍AOP
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待 它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封 ...
- JPA学习---第五节:日期和枚举等字段类型的JPA映射
1.在上一节可在数据库中看到创建出来的表和字段,是通过 Entity bean 来创建的,而创建表名和字段名的规则是怎样的? 有类,代码如下: package learn.jpa.bean; impo ...
- Netty学习第五节实例进一步学习
概念理解: Netty是基于NIO的框架 传统IO与NIO的区别: 1.传统IO会造成阻塞点: 2.单一的客户端处理消息 解决阻塞问题:建立线程池,达到收到一个消息就建立一个 ...
- Coursera在线学习---第五节.Logistic Regression
一.假设函数与决策边界 二.求解代价函数 这样推导后最后发现,逻辑回归参数更新公式跟线性回归参数更新方式一摸一样. 为什么线性回归采用最小二乘法作为求解代价函数,而逻辑回归却用极大似然估计求解? 解答 ...
- Hibernate学习---第五节:普通组件和动态组件
一.普通组件映射配置 1.创建组件类,代码如下: package learn.hibernate.bean; /** * 组件类 */ public class Phones { private St ...
随机推荐
- CSS3 图片悬浮缩放效果
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- Ubuntu 14.04 – How to install xrdp in Ubuntu 14.04
http://c-nergy.be/blog/?p=5305 Hello World, Ubuntu 14.04 has been released on April 17th 2014 and we ...
- requireJS心得
最近有幸接触到前端分模块加载JS框架,并且结合avalonJS使用,在此记录学习痕迹: a.实现js文件的异步加载,避免网页失去响应: b.管理模块之间的依赖性,便于代码的编写和维护. (1)requ ...
- GitHub 里面有大量优秀的第三方框架
写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上. GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好.一下摘录一下几乎每 ...
- Windows2003屏蔽IP
1.打开本地安全策略 2.创建新的IP策略 去掉勾选向导 我们编辑 直接右键指派 指派可以看出来生效...网络已经不通了
- vue.js插件使用(02) vue-router
概述 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用.vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的 ...
- php获取图片宽高等属性
<?php function getImageInfo($image) { $imageInfo = getimagesize($image); if ($imageInfo ! ...
- php static延迟静态绑定
如果你是一个懒惰的程序员,你看到以下代码可能会恼火 abstract class U{ } class u1 extends U{ public static function create(){ r ...
- Head First-策略模式
策略模式,什么是策略模式,定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户. 下面我们就用鸭子来诠释一下策略模式,鸭子有两种行为呱呱叫和飞,但是并不是所有的鸭 ...
- Redhat 6环境下安装Oracle 12c的方法
Step 1: 要在Linux上安装Oracle,需要在安装Oracle之前安装好相应的软件包,在不同操作系统环境下,对软件包的要求各不相同.具体对应的软件包,见官网文档:https://docs.o ...