Java的junit单元测试

1、搭建junit环境

  我们可以使用IDEA创建maven工程来搭建junit环境,这样做无疑是方便的。步骤如下:

  1. 在已有工程创建一个新的模块
    在这里插入图片描述
  2. 点击Create from archeType,选择quickStart
    在这里插入图片描述
  3. 点击下一个,写上坐标和项目名
    在这里插入图片描述
  4. 点击下一个,选择本地的maven和配置文件和仓库
    在这里插入图片描述
  5. 点击下一个,再点击OK就好了
  6. 打开模块的pom文件,添加junit的依赖,如此便搭建好junit的环境了。
<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.11</version>
	<scope>test</scope>
</dependency>

2、创建目录结构

在这里插入图片描述
如果main包下的java包没有变蓝色,test包下的java包没有变绿色,那么右击该包,选择标记为源码和测试源。
在这里插入图片描述

3、junit实战

3.1、创建类

创建一个Calculator类,用于做测试用

package com.lrm;

/**
 * @author RuiMing Lin
 * @date 2020-03-19 15:47
 */
public class Calculator {

    /**
     * 定义一个加法器
     * @param arr
     * @return sum
     */
    public int add(int... arr){
        int sum = 0;
        for (int i : arr) {
            sum += i;
        }
        return sum;
    }

    /**
     * 定义一个减法器
     * @param a
     * @param b
     * @return a - b
     */
    public int sub(int a,int b){
        return a - b;
    }
}

创建一个测试类CalculatorTest:
在这里插入图片描述

3.2、test()

使用test(),我们就不用每次都要使用main()了

package com.lrm;
import org.junit.Test;
/**
 * @author RuiMing Lin
 * @date 2020-03-19 15:51
 */
public class CalcalatorTest {
    
    @Test
    public void testAdd(){
        // 测试加法器是否可以正常使用
        Calculator calculator = new Calculator();
        int sum = calculator.add(1, 2, 3, 4, 5, 6, 7);
        System.out.println("sum = " + sum);
    }
    
}

如果没有出错,就会出现test passed:
在这里插入图片描述
我们故意把代码写错,看看结果:
在这里插入图片描述

3.3、before()和after()

before()和after()是分别在test()执行之前和之后执行的方法,before()通常用于进行初始化,after()通常用于关闭资源。

package com.lrm;

        import org.junit.After;
        import org.junit.Before;
        import org.junit.Test;

        import java.io.FileInputStream;
        import java.io.FileNotFoundException;
        import java.io.FileOutputStream;
        import java.io.IOException;

/**
 * @author RuiMing Lin
 * @date 2020-03-19 15:51
 */
public class CalcalatorTest {

    FileInputStream fis;
    FileOutputStream fos;

    @Before
    // 对fis和fos进行初始化
    public void init() throws FileNotFoundException {
        fis = new FileInputStream("fis.txt");
        fos = new FileOutputStream("fos.txt");
    }

    @Test
    public void test(){
        try {
            int b;
            byte[] bytes = new byte[32];
            while ((b = fis.read(bytes)) != -1){
                fos.write(bytes,0,b);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @After
    public void close() throws IOException{
        fis.close();
        fos.close();
    }
}

有错误的地方敬请指出!觉得写得可以的话麻烦给个赞!欢迎大家评论区或者私信交流!

发布了49 篇原创文章 · 获赞 119 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Orange_minger/article/details/104969572