欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java的白盒测试—Junit使用

程序员文章站 2024-03-15 18:23:48
...

1. Junit的使用步骤

(1) 定义测试用例
小建议:
*测试用例的名称:被测试的类名+Test
*测试用例所在的包名:XXX.XXX.test
(2) 定义可以独立运行的测试方法
小建议:
*测试方法的名称:被测试的方法+Test
*测试方法的返回值: void
*测试方法的参数:空参
几个有关测试方法的注解:
@Test 标明可以独立运行的测试方法。
@Before 标明初始化资源的方法 (在测试方法执行前自动执行)。
@After 标明释放资源的方法(在测试方法执行后自动执行)即使测试方法时报异常,依然会执行释放资源的方法。
注解的使用依赖于Junit,需要导入Junit依赖
Java的白盒测试—Junit使用
Java的白盒测试—Junit使用
Java的白盒测试—Junit使用
(3) 执行测试方法
执行单个测试方法:
Java的白盒测试—Junit使用
执行测试用例中的所有测试方法:
Java的白盒测试—Junit使用

2. Junit的判定

Junit的判定结果:红色表示测试失败,绿色表示测试成功。
一般使用断言操作来处理测试方法的返回值,语法如下:
Assert.assertEquals(期望的结果,返回值);

3. Junit的简单应用

Java的白盒测试—Junit使用
Calculator类的代码:

package cn.tu.junit;

public class Calculator {

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

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

测试用例CalculatorTest类的代码:

package cn.tu.test;

import cn.tu.junit.Calculator;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

/**
 * 测试用例
 */
public class CalculatorTest {

    /**
     * 初始化资源 (在测试方法执行前自动执行)
     */
    @Before
    public void init(){
        System.out.println("init...");
    }

    /**
     * 释放资源(在测试方法执行后自动执行)
     */
    @After
    public void close(){
        System.out.println("close...");
    }

    /**
     * 测试方法add
     */
    @Test
    public void testAdd(){
        System.out.println("testAdd...");

        Calculator c = new Calculator();
        int result = c.add(1, 2);
        Assert.assertEquals(3, result);
    }

    /**
     * 测试方法sub
     */
    @Test
    public void testSub(){
        System.out.println("testSub...");

        Calculator c = new Calculator();
        int result = c.sub(1, 2);
        Assert.assertEquals(-1, result);
    }

}

运行效果图:
Java的白盒测试—Junit使用
Java的白盒测试—Junit使用
倘若将Calculator类的add方法修改一下:

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

运行测试方法testAdd的效果图:
Java的白盒测试—Junit使用
倘若再将Calculator类的add方法修改一下:

public int add(int a, int b) {
        //产生异常的代码
        int i = 1 / 0;
        return a + b;
    }

运行测试方法testAdd的效果图:
Java的白盒测试—Junit使用