超级详细的Junit单元测试教程

所有知识体系文章,GitHub已收录,欢迎Star!

GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual

搜索关注微信公众号“码出Offer”,Z哥送你学习福利资源!

Junit单元测试

一、什么是单元测试?

在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 程序单元是应用的最小可测试部件。简单来说,就是测试数据的稳定性是否达到程序的预期。

二、单元测试的重要性

谈到测试,我们为什么要对程序进行测试呢?测试会为程序带来什么好处呢?

首先,我们每个人都会犯错误。毕竟人嘛,没有完美的谁谁谁。在程序中犯错误就像生活中犯错一样,错误不是一天两天而形成的。当需要改的时候,也不是能花少的时间而改掉的。这里我谈到的程序中的错误,就是著名的Bug。

我们可能在不经意间写错,如果你到了最后阶段去检验项目成果时,发现会有错误,这时候我们很难找到Bug的源头在哪里。我们都知道,有可能一处出错会导致步步错的情况。

然而,测试就在我们的上述说法中,显得尤为重要。有了测试的概念,这时候当我们做完项目的一个小模块,我们先去测试一下这个小模块是否正确或达到预期,如果错误或者没有达到预期就需要反复修改,直到正确或达到预期。这里所说的也就是使用了单元测试。

当我们一块一块的做完并一块一块的测试后OK后,这时候你会发现项目像拼图一样拼在了一起。简单来说,这就是单元测试存在的重要意义!

声明: 术语显得过于生硬,白话文也许会让你们了解,请谅解我的大白话!谢谢!

三、黑盒测试与白盒测试

3.1 黑盒测试

黑盒测试又称功能测试。它通过测试来检验程序是否能正常使用。在测试过程中,我们把程序看作为一个打不开的盒子,黑黑的什么也看不见,内部代码怎么写的也不知道。也就是说完全不考虑任何内部结构和性能的情况下为程序传入(Input)参数,然后去查看程序输出(Output)是否在正常范围内,通常这时候我们需要多此测试才得出结论。

特点: 不需要我们中间参与编写任何代码,传入参数值后查看程序是否正常或达到预期值。

image-20200531202329881

3.2 白盒测试

白盒测试又称结构测试。在这里白盒测试与黑盒测试不同,在测试过程中,我们可以把程序看作为一个可以看到的白色透明盒子,我们清楚盒子内部的代码和结构。我们在使用白盒测试的时候,测试人员必须检查程序的内部结构,而要从检查程序的逻辑开始,一步一步的检查传入参数(Input)并查看程序的运行过程和输出(Output)结果,最终得出测试数据。这也就是“白盒测试”为什么叫穷举路径测试的原因,再次强调,是因为我们清楚程序的内部结构和代码,从而检查所有结构的正确与否和预期值。

注意: 单元测试就是白盒测试的一种!

image-20200531202615957

四、单元测试思想传递

在这里我们忘掉单元测试,使用平时我们自己测试的方式来测试数据,看看它有什么缺点。

首先,我先创建在一个计算器类,在其中随便创建两个运算方法,供我们模拟测试。

package com.mylifes1110.java;

/**
 * 计算器
 */
public class Calculator {
   
    /**
     * 加法
     */
    public int add(int num1, int num2) {
   
        return num1 + num2;
    }

    /**
     * 减法
     */
    public int cut(int num1, int num2) {
   
        return num1 - num2;
    }
}

然后我们再去编写测试类,创建对象,先去测试加法。

package com.mylifes1110.java;
  • 360
    点赞
  • 1920
    收藏
    觉得还不错? 一键收藏
  • 32
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值