单元测试——IDEA中使用JUnit4进行高效单元测试

文章目录

  • IDEA中使用JUnit4进行高效单元测试
    • 现实需求
    • IDEA搭建JUnit测试环境
        • 安装JUnit插件
        • 配置JUnit插件
        • maevn创建jar类型项目
        • hamcrest断言介绍
    • JUnit4测试面试题4
        • 算法的Java实现
        • 生成测试类
        • 测试类中编写测试代码
    • 附录
    • 参考

IDEA中使用JUnit4进行高效单元测试

现实需求

传统测试方法是在main函数里写测试代码,测试效率比较低。原因一是多个测试不能一起运行,二是需要人为观察输出是否正确。
下面以《剑指Offer(第二版)》面试题4为例,进行说明。
面试题4:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数。

  • Java实现
public class FindInMatrix {
   
    /**
     * 二维数组中的查找
     * @param matrix
     * @param rows
     * @param columns
     * @param num
     * @return
     */
    public static boolean isFound(int[][] matrix, int rows, int columns, int num){
   
        if(matrix!=null && rows>0 && columns>0){
   
            int row = 0;
            int column = columns - 1;

            while(row<rows && column>=0){
   
                if(matrix[row][column] == num)
                    return true;
                else if(matrix[row][column] > num)
                    column--;
                else  // matrix[row][column] < num
                    row++;
            }  // end while
        }  // end if
        return false;
    }  // end isFound()  
}  // end class
  • 传统方式测试
public class FindInMatrixApp {
   
        public static void main(String[] args) {
   
        // 一 输入 & 测试用例
        // 1 矩阵是空指针
        int[][] matrix01 = null;  // output:查找失败
        // 2 矩阵非空
        int[][] matrix02 = {
   
                {
   1,2,8,9},
                {
   2,4,9,12},
                {
   4,7,10,13},
                {
   6,8,11,15}
        };
        int num01 = 15;  // 2.1 整数是最大值  output: 二维数组中存在 15
        int num02 = 1;  // 2.2 整数是最小值  output: 二维数组中存在 1
        int num03 = 9;  // 2.3 整数是中间值  output: 二维数组中存在 9
        int num04 = 18;  // 2.4 整数大于最大值  output: 查找失败
        int num05 = 0;  // 2.5 整数小于最小值  output: 查找失败
        int num06 = 5;  // 2.6 整数是中间值但不存在  output: 查找失败
        int num = num06;

        // 二 执行
//        boolean found = FindInMatrix.isFound(matrix01, 4,4,num);
        boolean found = FindInMatrix.isFound

你可能感兴趣的:(程序员基础,单元测试,intellij,idea,maven)