1、定义
- 在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 程序单元是应用的最小可测试部件。简单来说,就是测试数据的稳定性是否达到程序的预期。
2、单元测试思想传递
-
在这里我们忘掉单元测试,使用平时我们自己测试的方式来测试数据,看看它有什么缺点。首先,我先创建在一个计算器类,在其中随便创建两个运算方法,供我们模拟测试。
-
然后我们再去编写测试类,创建对象,先去测试加法。
-
测试后,我们查看结果为正确的,然后进行下一步测试。因为我们有两条数据需要测试,平时在测试完一条数据后需要把测试过的数据注释掉,再进行接下来的测试。
-
测试完两条数据后,再去继续编写我们的项目代码。其实,我们有没有发现这样做很麻烦呢?上一步骤为什么需要把测试过的数据注释掉呢?答案来了,的确很麻烦,至于为什么注释掉,那是因为我们在写项目代码的时候,需要测试,不可能在同一个测试类测试这么多数据。而且在测试的过程序,数据与数据之间是有关联是互相影响的。这就会造成我们的测试不准确从而影响后续编码进度和项目准确性。
3、编码规范
- 类名: 定义测试类,类名是由被测试类名Test构成。例如:CalculatorTest
- 包名: 定义的测试类需要放在xxx.xxx.xxx.test包中。例如:package com.mylifes1110.test;
- 方法名: 测试方法的方法名有两种定义方式test测试方法和测试方法。例如:testAdd和add
- 返回值: 因为我们的方法只是在类中测试,可以独立运行,所以不需要处理任何返回值,所以这里使用void。例如:public void add();
- 参数列表: 因为我们的方法是用来测试的,至于参数列表的传入是没有必要的。我们在测试的时候自行传入需要的参数测试即可。所以在此参数列表为空。例如:例如:public void add();
- @Test注解: 测试是需要运行来完成的。如果我们只有一个main方法,显然在结构上还是需要我们去注释掉测试过的。解决此问题这里我们需要在测试方法上方加@Test注解来完成测试,只要是加该注解的方法,可以单独运行此方法来完成测试。
- @Test注解jar包Junit4、5: @Test注解是需要我们导入jar包才能使用的。jar包有两个分别是:junit-4.13-rc-2和hamcrest-core-1.3。这里我使用的是Junit4,单元测试还有Junit5,版本差异我没有做了解。主要是可以完成测试才是硬道理!
- IDEA快捷导入Junit4、5: 使用IDEA的小伙伴,你们的福音来了。我们可以先创建测试类和方法,然后在测试方法上方加入@Test注解,此时IDEA显示的@Test注解是飘红的,这时候我们使用Alt + Enter组合键来打开导入Junit单元测试列表,然后再选择Junit4或者Junit5确定即可导入成功!这时候再查看注解就没有飘红了!
参考文献:https://blog.youkuaiyun.com/weixin_44170221/article/details/106463482