Java基础之JUnit单元测试
该文首发于我的个人博客ReadLamp
前言
单元测试是什么?
Junit是一个Java编程语言的单元测试框架。
JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。
JUnit 促进了“先测试后编码”的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。这个方法就好比“测试一点,编码一点,测试一点,编码一点……”,增加了程序员的产量和程序的稳定性,可以减少程序员的压力和花费在排错上的时间。
有什么用?
它提供注释来识别测试方法,提供断言来测试预期结果,提供测试运行来运行测试。
可以在一个测试类里面测试多个方法,而无需像使用main方法那执行测试一次就要修改一次。
JUnit的使用
使用单元测试主要分为以下5个步骤:
- 新建测试类
建议新建一个test包来管理单元测试类。
建议新建的类名为待测试的类名后面加上Test。
例如,待测试的类名叫做Calculator。那么这个新建的类名就叫做CalculatorTest。
- 定义测试方法
在这个新建的类里面定义测试方法,建议该方法名为待测试的方法名前面加上test。
例如,带测试的方法名为add。那么这个方法名则为testAdd。
其次,建议返回值为空值,参数列表为空参。
-
给方法加上注释@Test
-
导入依赖环境
直接在方法左侧出现的小灯泡给出的方法中导入。
导入失败时的解决方法
- 使用Alt + Enter键自动导入
- File->Project Structure
在弹出的文件浏览窗口,选择"IDEA的安装目录\lib导入以下包:
- junit-4.11.jar
- hamcrest-core-1.3.jar
- 点击方法的左侧出现的绿色三角
补充
- 使用断言来测试预期的结果
使用方法为在待测试方法里合理的位置(如最后一行)加上Assert.assertEquals(期望的结果,运算的结果);
- 可以使用@Before与@After注解来在测试类中申请、释放必要资源:
- @Before修饰的方法会在测试方法之前被自动执行
- @After修饰的方法会在测试方法执行之后自动被执行
//示意代码
public class CalculatorTest {
@Test
public void testSub() {
Calculator c = new Calculator();
int result = c.sub(1, 2);
Assert.assertEquals(-1,result);
}
}
小结
五个步骤:新建测试包下测试类,测试类里写测试方法(按需要加断言),测试方法头加@Test注释,点击小三角测试。
后记
本文主要是零散的知识点笔记,仅用以了解大概内容,更多知识点请自行搜索了解。
参考资料:
- W3Cschool:https://www.w3cschool.cn/junit/
上一篇: 找出数组中每个数的右边第一个比它大的数
下一篇: 求N的阶乘中末尾有几个0