java如何创建测试类
创建测试类的基本步骤
在Java中创建测试类通常使用JUnit框架,以下是具体方法:
安装JUnit依赖 对于Maven项目,在pom.xml中添加依赖:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
创建测试类结构 测试类应放在src/test/java目录下,与被测类保持相同包结构。测试类命名通常为"被测类名+Test",例如:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calc = new Calculator();
assertEquals(5, calc.add(2, 3));
}
}
常用测试注解
JUnit5提供多种注解控制测试执行:
@BeforeEach
void setUp() {
// 每个测试方法前执行
}
@AfterEach
void tearDown() {
// 每个测试方法后执行
}
@BeforeAll
static void initAll() {
// 所有测试前执行一次
}
@AfterAll
static void tearDownAll() {
// 所有测试后执行一次
}
@DisplayName("特殊测试案例")
void specialTest() {
// 自定义测试名称
}
断言方法
JUnit提供多种断言验证测试结果:

assertEquals(expected, actual); // 验证相等
assertTrue(condition); // 验证为true
assertFalse(condition); // 验证为false
assertNull(object); // 验证为null
assertNotNull(object); // 验证非null
assertArrayEquals(expectedArray, resultArray); // 验证数组相等
assertThrows(Exception.class, () -> {...}); // 验证抛出异常
参数化测试
使用@ParameterizedTest实现多组数据测试:
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
void testWithValueSource(int argument) {
assertTrue(argument > 0);
}
@ParameterizedTest
@CsvSource({"1,2,3", "4,5,9"})
void testAddWithCsv(int a, int b, int expected) {
assertEquals(expected, a + b);
}
测试覆盖率
使用JaCoCo等工具测量测试覆盖率,Maven项目中添加插件:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>






