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

本文介绍了如何在IntelliJ IDEA中利用JUnit4进行高效的单元测试,通过《剑指Offer(第二版)》面试题4的Java实现作为示例。文章详细讲解了JUnit插件的安装、配置,以及如何通过Maven创建项目。此外,还探讨了hamcrest断言的使用,以及JUnit4如何一键运行测试用例并自动检查结果,提高了测试效率。
摘要由CSDN通过智能技术生成

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(matrix02,4,4,num);

        // 三 输出
        if(found)
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值