Junit_单元测试的学习笔记

Junit

Junit是一个比较小巧的单元测试用工具,它可以在不使用主方法的情况下使得程序可以以方法为单位进行测试。


一、Junit概述

  • 测试的分类:
    • 黑盒测试:封装代码,只显示输入和输出。通过比较实际的输出和预想的输出从而得到软件或者程序是否正确
    • 白盒测试:不封装代码,看过程和流程,思考代码是否高效,一般写代码。Junit测试属于白盒测试的一种。

二、 Junit的使用步骤

  • 使用之前首先要导包(导入maven依赖):

    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
    
    
  • 定义一个测试类(测试用例)

    • 测试类名: 类名Test
    • 包名:xxx.xxx.xx.test 将测试类单独放在一个包之下
  • 定义一个测试方法(可以独立运行)

    • 方法名:test方法名
    • 返回值:void
    • 参数列表:空参
  • 给方法加上注解@Test

  • 【注意】:使用Junit单元测试的时候,看的是颜色

    • 红色代表出错
    • 绿色代表正常
    • 一般我们使用断言来进行结果的处理
      • Assert.assertEquals(期待值, 真实值);
package com.zhang.test;

import com.zhang.junit.Calculator;
import org.junit.Assert;
import org.junit.Test;

public class CalculatorTest {

    // 测试add方法
    @Test
    public void testAdd(){
        // 创建对象
        Calculator calculator = new Calculator();

        // 测试方法
        int result = calculator.add(1 , 2);
        // System.out.println(result);
         /**因为输出不能0检测出代码的错误(想要的因为代码逻辑无法实现)
           * 所以我们用断言Assert和真实的结果进行比对*/

         Assert.assertEquals(3 , result);   // 断言成功
//         Assert.assertEquals(4,result);     // 断言失败

    }

    // 测试sub方法
    @Test
    public void testSub(){
        Calculator calculator = new Calculator();
        int result = calculator.sub(2 , 1);
        System.out.println(result);
    }
}

三、Junit的其他注解

  • @Before
    • 在所有测试方法被执行之前执行,一般用来申请资源
    • 所有的测试方法都会执行
  • @After
    • 在所有测试方法被执行之后执行,一般用来释放资源
    • 所有的测试方法都会执行
    • 即使出现了异常,也不会影响该方法的执行
package com.zhang.test;

import com.zhang.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(){
        // 创建对象
        Calculator calculator = new Calculator();

        // 测试方法
        int result = calculator.add(1 , 2);
        // System.out.println(result);
         /**因为输出不能0检测出代码的错误(想要的因为代码逻辑无法实现)
           * 所以我们用断言Assert和真实的结果进行比对*/

         Assert.assertEquals(3 , result);   // 断言成功
//         Assert.assertEquals(4,result);     // 断言失败

    }

    // 测试sub方法
    @Test
    public void testSub(){
        Calculator calculator = new Calculator();
        int result = calculator.sub(2 , 1);
        System.out.println(result);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值