孔浩老师 jUnit 视频教程学习笔记(第1讲)

本笔记对应的视频文件为:06_junit_01junit基本介绍.avi。

程序员每天工作的基本流程:
1、从svn检出代码;
2、运行单元测试,测试无误,进入下一步;
3、开始一天的代码编写工作;
4、代码提交到服务器之前进行单元测试;
5、单元测试通过提交到svn服务器。

一些关于测试的概念:1、集成测试;2、验收测试、压力测试

由此引出了单元测试的最基本的需求是:实现自动化测试。

该门课程的主要内容:
单元测试
1、自动化测试
(1)通过断言的方式来确定结果是否正确 Assert;
(2)引入 junit 的 jar 包;
(3)创建一个操作类
2、基于测试开发的方式和优点
3、stub 和 mock
4、在容器中测试
(1)jetty
(2)catcus
5、dbunit

jUnit 之 HelloWorld
1、导入 junit 的 jar 包(junit-4.10.jar),不建议直接使用 eclipse 中所提供的包;
注意:这里建议使用 junit-4.10 版本的 jar 包进行测试,如果使用 4.11 版本的 jar 包,运行测试类的时候,会要求加入 hamcrest-core-1.3.jar 的 jar 包,加入了以后,编译器又不能正常编译,实在是很烦躁啊。
2、在 src 目录下编写服务代码;
3、创建测试类;
基本原则:
(1)在 eclipse 中创建一个 source folder 命名为 test;
(2)创建一个测试类所在的包,包的名称和要测试的类一致。
4、Junit3 和 Junit4 两者之间的区别是非常明显的:
(1)在 Junit3 中,如果某个类需要是测试类,必须将其继承于TestCase,如果某个方法需要是测试方法,必须让这个方法通过 testXX 开头,在 junit3 中,如果希望指定某个测试方法运行之前运行某个初始化方法,这个方法的名称必须是 setUp ,如果希望在某个测试方法运行之后运行某个释放资源的方法,这个方法的名称必须是 tearDown;
(2)在 Junit4 中,一个 POJO 类就是一个测试类,测试方法通过@Test 来标识,初始化方法通过 @Before ,释放资源的方法通过 @After 来标注。但是为了让 junit4 中的测试类在 Junit3 中也可以使用,习惯于把初始化方法命名为 setUp ,释放资源的方法命名为 tearDown ,测试方法也同样以test开头。
5、如何使用断言
在 junit4 中提供了一个 Assert 的类,这个类中有大量的方法进行断言的处理,在 junit3 中由于继承了 TestCase ,这个 TestCase 中提供了大量的 assert 的方法。

服务端示例代码:

package com.liwei.util;

public class Calcuate {
    public int add(int a, int b){
        return a + b ;
    }

    public int minus(int a ,int b){
        return a - b;
    }

    public int mul(int a,int b){
        return a * b;
    }

    public int divide(int a ,int b){
        return a / b;
    }
}

下面我们创建测试类,基于包名一致的原则,eclipse帮我们自动编译的测试代码和我们的服务端代码就编译在一个文件夹下了。
这里写图片描述
这样做实现的功能就是:源代码分开,编译后的字节码文件合在一起。

先来认识一下 断言 这个概念:
这里写图片描述

双击单元测试的方法,使得方法名成为选中的状态,然后按 F11。看到绿色的条,就说明单元测试通过了。

知识点 1 :静态导入
使用静态导入,这里使用静态导入的目的是为了兼容 junit3。语法如下:

import static org.junit.Assert.*;

说明:当进行了静态导入之后,Assert中的所有静态方法就不用在添加类名来调用,这样可以有效的兼容junit3。

知识点 2 :异常捕获的测试
语法:

    @Test(expected=ArithmeticException.class)
    public void testDivideException(){
        cal.divide(20, 0);
    }

知识点 3 :性能测试

    @Test(timeout=300)
    public void testTime(){
        int result = cal.minus(10, 8);
        try {
            Thread.sleep(301);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        assertEquals("减法计算出错", result, 2);
    }

以上就是作为 jUnit 最最基本的内容。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值