|Junit4入门之什么是单元测试?

|Junit4入门之什么是单元测试?

Junit4入门之什么是单元测试?


干了一年多的后端了 , 从来没有了解过单元测试 。 虽然我知道测试不仅仅是测试们的任务 , 后端也要进行自测来保证自己的代码的可用性 , 但我一直都只是用postman来实施的 , 调用调通了即可 。 虽然我也知道Junit是用于测试的软件 , 项目里也引入过 , 但真的就只是点到为止 , 除了引入就没用过 。。 之前是小外包公司 , 不需要你整这些没用的 , 现在进了比较看重编码质量的公司 , 就需要写单元测试的任务了 。 一方面是上面要求不得不学习 , 一方面也是对自己以后面试之类的有帮助 , 最后一方面就是希望学好单元测试后真的能对项目有帮助吧 。
什么是单元测试?首先我们得知道单元测试是个啥 , 一点点的学进去 。

百度百科:单元测试(unit testing) , 是指对软件中的最小可测试单元进行检查和验证 。 对于单元测试中单元的含义 , 一般来说 , 要根据实际情况去判定其具体含义 , 如C语言中单元指一个函数 , Java里单元指一个类 , 图形化的软件中可以指一个窗口或一个菜单等 。 总的来说 , 单元就是人为规定的最小的被测功能模块 。
可以看出 , 单元测试是一种对代码模块的测试 , 但它的特点是:小 , 是我们人为规定的最小的被测功能模块 。 所以绝对不能太久 , 据说即便是上千个单元测试 , 也可以在10秒内跑完 。 很多公司并没有严格界定单元测试的标准 , 将功能测试误以为是单元测试 , 认为只要使用了Junit就是单元测试 , 其实并不是这样 。 单元测试的特点是小 , 一般都是按方法为单位 。 也有以类为单位的 , 勉强也可以算进去 。 但是不能一次涉及多个类 , 如果是那样 , 那就是功能测试而不是单元测试了 。
举例:
单元测试是用来对一个模块、一个函数或者一个类来进行正确性校验的测试工作 。
例如现在要对函数abs(int i)进行测试(Java里获取绝对值的函数) , 首先我们可以编写出以下几个测试用例:
1) 输入正数 , 例如1、2、3 , 预期返回值与输入参数相同
2) 输入负数 , 例如-1、-2、-3 , 预期返回值与输入参数相反
3) 输入0 , 预期返回值也是0
4) 输入非数值类型 , 例如List或任意类 , 预期会发生异常
把上面的测试用例放到一个测试模块里 , 就是一个完整的单元测试 。
如果单元测试通过 , 说明我们测试的这个函数能够正常工作 。 如果单元测试不通过 , 要么函数有bug , 要么测试条件输入不正确 , 总之 , 需要修复代码使单元测试能够通过 。
【|Junit4入门之什么是单元测试?】这就是单元测试的目的 , 用于减轻我们开发自测的负担 , 避免开发时 , 不小心修改影响到以前的功能 。