对于一些有经验的开发觉得写单元测试是非常有必要的,也仅仅是觉得,可能写的不是太多,但是一些新手代码都写不顺的让他们再去写单元测试,估计他们的内心是相当崩溃的,但是单元测试时真的有必要,而且对自己的代码质量以及编码能力都是有提高的。
一、什么是单元测试?
单元测试是针对程序的最小单元来进行正确性检验的测试工作,程序单元就是应用的最小可测试部件,一个单元可能是单个程序,类,对象,方法等。
二、使用单元测试有什么好处?
1.减少bug
通过运行单元测试可以直接测试各个功能的正确性,有bug可以直接发现并解决,如果要等到跟其他的功能对接,进行连贯测试,测试比较麻烦,而且bug不能及早的发现并解决
2.快速定位bug
如果是web项目的某一个功能,平常我们定位bug可能是页面输入值,后台断点,一步一步的需要bug位置,如果有编写单元测试,则可以直接修改数据,运行单元测试即可,快速有限
3.提高代码质量
如果每一个部件都是完美的,那么组合起来肯定也是完美的。整体代码质量就得到了保障
4.减少调试时间
当不知问题所在的时候,可能需要各种调试与运行,而如果所有的都有编写单元测试,那么可以直接运行单元测试,就能定位问题所在位置。
三、单元测试的一些注意事项
- 测试方法必须使用@Test修饰
- 测试方法必须使用public void进行修饰,不能带参数
- 测试代码的包应该和被测试的代码包结构保持一致
- 测试单元的每个方法必须可以独立测试,方法间不能有任何依赖
- 测试类一般使用Test作为类名的后缀
- 测试方法一般使用test作为方法名的前缀
四、单元测试常用的注解
- @Test 将一个普通方法修饰成为一个测试方法
- @BeforeClass 会在所有的方法执行之前被执行(必须是static的)执行一次
- @AfterClass 会在所有的方法执行之后执行(必须是static的)执行一次
- @Before 会在每个方法执行之前执行
- @After 会在每个方法执行之后执行
- @Ignore 所修饰的方法会被测试运行器忽略
- @RunWith 修改测试运行器(与spring结合是有用到)
五、单元测试使用例子
1.新建一个maven项目,引入junit包
2.新建一个运算类,里面有加减乘除的方法
3.新建对应的单元测试类
4.选择需要新建的测试方法
5.单元测试类
6.给其中一个方法添加@Ignore,运行测试
7.查看@Before与BeforeClass的区别
8.单元测试写的时候尽量把测试场景测试完全,必须做除法运算的时候要考虑到除数为零,测试的场景越是全面,代码的质量越高。
来源:CSDN
作者:忆蝶梦寒&
链接:https://blog.csdn.net/weixin_41098980/article/details/79848263