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",如Calculator类对应的测试类为CalculatorTest。
编写测试类模板
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
assertEquals(5, calculator.add(2, 3));
}
}
常用测试注解
@Test 标记测试方法,方法必须是public void且无参数。
@BeforeEach 在每个测试方法执行前运行的方法,用于初始化工作。
@AfterEach 在每个测试方法执行后运行的方法,用于清理资源。
@BeforeAll 在所有测试方法执行前运行一次,必须是static方法。
@AfterAll 在所有测试方法执行后运行一次,必须是static方法。
断言方法
assertEquals(expected, actual) 验证期望值与实际值是否相等。
assertTrue(condition) 验证条件是否为true。
assertFalse(condition) 验证条件是否为false。
assertNull(object) 验证对象是否为null。
assertNotNull(object) 验证对象是否不为null。
assertThrows(exceptionType, executable) 验证是否抛出指定异常。
参数化测试
使用@ParameterizedTest实现多组数据测试:
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
public void testIsPositive(int number) {
assertTrue(number > 0);
}
测试覆盖率检查
使用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>






