Junit 单体测试

代码测试:
白盒测试:测试代码结构和逻辑(可见代码测试):黑盒测试:测试代码功能和性能(不可见代码测试)
白盒测试局限性:1、不可能测试所有代码。2 白盒测试难度比极高。
单体测试是一种白盒测试,测试代码功能模块 – 测试代码单个功能

junit 是java 的单体测试技术
1、编写junit 在工程引用junit 类库
2、编写单体测试用例
* 创建public void 无参数的方法 、在方法前添加@Test 注解
3、每个测试方法 相当于以前编写main 函数,每个测试方法可以单独执行

在使用junit进行测试当方法非常多,每个方法输出内容到控制台,人们无法通过人工进行检查
* 自动化结果检查 — 断言 Assert
断言原理:调用方法,调用方法前,准备测试数据、测试数据运行结果 —— 比较实际结果与预期结果是否相同

  • 编写单体测试时,不要仅测试正确的数据和结果,测试不正确数据(非法数据)

代码:

package com.qddx;

/*
 * 编写加减乘数方法

 * */
public class Calcultor {

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

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

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

    public int div(int a, int b) {
        if (b == 0) {
            throw new RuntimeException("除数为零");
        }
        return a / b;
    }
}

测试代码:

package com.qddx;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

//@ignore 可以忽略不想执行的方法。
public class CalcultorTest {
    // 在每个测试方法前执行的代码
    @Before
    public void before() {
        System.out.println("before...");
    }

    // 在每个测试代码后执行的代码
    @After
    public void after() {
        System.out.println("after");
    }

    // 在整个测试类实例化之前只想一段代码
    @BeforeClass
    public static void befrClass() {
        System.out.println("before....");
    }

    // 在整个类对象使用之后
    @AfterClass
    public static void afterClass() {
        System.out.println("afterclass");
    }

    @Test
    public void testAdd() {
        // 方法进行测试
        int a = 6;
        int b = 9;
        Calcultor c = new Calcultor();
        int result = c.add(a, b);
        System.out.println(result);
        // 比较实际结果和语气结果的值
        Assert.assertEquals(15, result);
    }

    @Test
    public void testSub() {
        int a = 6;
        int b = 9;
        Calcultor c = new Calcultor();
        int result = c.sub(a, b);
        System.out.println(result);
        // 比较实际结果和预期结果的值 使用断言
        Assert.assertEquals(-3, result);
    }

    @Test
    public void testMul() {
        int a = 6;
        int b = 9;
        Calcultor c = new Calcultor();
        int result = c.mul(a, b);
        System.out.println(result);
        // 比较实际结果和语气结果的值
        Assert.assertEquals(54, result);
    }

    @Test
    public void testDiv() {
        int a = 6;
        int b = 2;
        Calcultor c = new Calcultor();
        int result = c.div(a, b);
        System.out.println(result);
        // 比较实际结果和语气结果的值
        Assert.assertEquals(3, result);
    }

}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值