【Java】Junit简单使用

Junit基础操作

  • JUnit是专⻔做单元测试的组件。
    • 在实际开发中,单元测试⼀般是由我们Java程序员来完成的。
    • 我们要对我们⾃⼰写的每⼀个业务⽅法负责任,要保证每个业务⽅法在进⾏测试的时候都能通过。
    • 测试的过程中涉及到两个概念:
      • 期望值
      • 实际值
    • 期望值和实际值相同表示测试通过,期望值和实际值不同则单元测试执⾏时会报错。
  • 使⽤JUnit步骤:
    • 第⼀步:在pom引⼊依赖
<!-- junit依赖 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>
  • 第⼆步:编写单元测试类【测试⽤例】,测试⽤例中每⼀个测试⽅法上使⽤@Test注解进⾏标注
  • 测试用例的名字以及每个测试方法的定义都是有规范的:
    • 测试用例的名字:XxxTest
    • 测试方法声明格式:public void test业务方法名(){}
// 测试⽤例
public class CarMapperTest{
    
    // 测试⽅法
    @Test
    public void testInsert(){}
    
    @Test
    public void testUpdate(){}
    
}
  • 第三步:可以在类上执⾏,也可以在⽅法上执⾏
    • 在类上执⾏时,该类中所有的测试⽅法都会执⾏。
    • 在⽅法上执⾏时,只执⾏当前的测试⽅法。
package com.powernode.junit.service;

import org.junit.Assert;
import org.junit.Test;

/**
 * 单元测试类
 * @author 动力节点
 * @version 1.0
 * @since 1.0
 */
public class MathServiceTest { // 名字规范:你要测试的类名+Test

    // 单元测试方法写多少个。
    // 一般是一个业务方法对应一个测试方式。
    // 测试方法的规范: public void testXxxx(){}
    // 测试方法的方法名:以test开始。假设测试的方法是sum,这个测试方法名:testSum
    // @Test注解非常重要,被这个注解标注的方法就是一个单元测试方法。
    @Test
    public void testSum(){
        // 单元测试中有两个重要的概念:
        // 一个是:实际值(被测试的业务方法的真正执行结果)
        // 一个是:期望值(执行了这个业务方法之后,你期望的执行结果是多少)
        MathService mathService = new MathService();
        // 获取实际值
        int actual = mathService.sum(1, 2);
        // 期望值
        //int expected = 3;
        int expected = 30;
        // 加断言进行测试
        Assert.assertEquals(expected, actual);
    }

    @Test
    public void testSub(){
        MathService mathService = new MathService();
        // 实际值
        int actual = mathService.sub(10, 5);
        // 期望值
        int expected = 5;
        // 添加断言机制
        Assert.assertEquals(expected, actual);
    }

}

添加了断言机制之后,若期望值与实际值不同则会抛出异常。
![image.png](https://img-blog.csdnimg.cn/img_convert/6b8850a1590fdbdfac496f720190dcbc.png#clientId=uaf58b254-f545-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=635&id=ufb8b0bc8&margin=[object Object]&name=image.png&originHeight=635&originWidth=710&originalType=binary&ratio=1&rotation=0&showTitle=false&size=66631&status=done&style=none&taskId=u2a65c603-c54d-49e1-b91f-63b1cb1b0f1&title=&width=710)

知识扩展:断言Assert

断言的概念

  • 断言实际上是一种测试机制,它可以规定某个参数或者属性必须要满足某个条件,否则会抛出一个异常,并且程序会中止。

断言的一些特点

  • 断言只用于开发测试阶段确定程序的内部错误
  • 断言默认是禁用的,需要手动开启。禁用断言的情况下,类加载器会跳过断言代码
  • 断言检测失败的时候,会抛出AssertionError异常,程序中止
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值