✅ JUnit 单元测试(Java)
JUnit 是 Java 中最常用的单元测试框架,用于对 Java 方法的功能进行自动化测试,提高开发效率和代码质量。
✅ 基本概念
名称 |
说明 |
单元测试(Unit Test) |
针对程序中最小功能单元(如方法)进行的测试 |
JUnit |
Java 编程语言的单元测试框架,目前主流版本为 JUnit 4 和 JUnit 5 |
测试用例 |
编写好的测试方法,用来验证业务方法是否正确 |
断言(assert) |
检查预期结果和实际结果是否一致,决定测试是否通过 |
✅ JUnit 测试的基本步骤
1️⃣ 添加 JUnit 依赖(以 JUnit 4 为例)
👉 如果你是使用 Maven 的项目:
1 2 3 4 5 6
| <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>
|
2️⃣ 编写待测试的代码(业务类)
1 2 3 4 5 6 7 8 9
| public class Calculator { public int add(int a, int b) { return a + b; } public int sub(int a, int b) { return a - b; } }
|
3️⃣ 编写测试类(测试用例)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import org.junit.Test; import static org.junit.Assert.*;
public class CalculatorTest {
@Test public void testAdd() { Calculator c = new Calculator(); int result = c.add(10, 20); assertEquals(30, result); }
@Test public void testSub() { Calculator c = new Calculator(); int result = c.sub(10, 5); assertEquals(5, result); } }
|
✅ 常用断言方法(assert)
方法名 |
说明 |
assertEquals(a, b) |
判断两个值是否相等 |
assertTrue(condition) |
判断条件为 true |
assertFalse(condition) |
判断条件为 false |
assertNull(obj) |
判断对象为 null |
assertNotNull(obj) |
判断对象不为 null |
✅ 测试运行结果说明
- ✅ 绿色条:测试通过
- ❌ 红色条:测试失败,断言不成立或抛出异常
- 报错信息会指出是哪个测试方法失败,并显示期望值和实际值
✅ 小贴士
- JUnit 测试类通常和被测试类放在不同的目录中(如
src/main/java
和 src/test/java
)
- 每个测试方法都应该是
public void
,并用 @Test
注解标记
- 测试方法名最好有描述性,如
testAddWithPositiveNumbers