java如何创建测试类
创建Java测试类的基本步骤
在Java中创建测试类通常使用JUnit框架。以下是创建测试类的详细步骤:
安装JUnit依赖 对于Maven项目,在pom.xml中添加依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
创建测试类结构 测试类通常与被测试类位于相同包名下的test目录中。命名规范为被测试类名+Test,例如CalculatorTest。
编写测试方法 测试方法需要使用@Test注解标注,方法应为public void且无参数:
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calc = new Calculator();
assertEquals(5, calc.add(2, 3));
}
}
常用测试注解
JUnit提供多种注解控制测试流程:
- @Before:每个测试方法前执行
- @After:每个测试方法后执行
- @BeforeClass:所有测试前执行(静态方法)
- @AfterClass:所有测试后执行(静态方法)
- @Test(expected=Exception.class):测试预期异常
- @Test(timeout=100):测试超时时间
断言方法
JUnit提供多种断言方法验证测试结果:
- assertEquals(expected, actual)
- assertTrue(condition)
- assertFalse(condition)
- assertNull(object)
- assertNotNull(object)
- assertSame(expected, actual)
- assertNotSame(unexpected, actual)
- assertArrayEquals(expected, actual)
参数化测试
使用@RunWith和@Parameters实现参数化测试:
@RunWith(Parameterized.class)
public class CalculatorParamTest {
private int a;
private int b;
private int expected;
public CalculatorParamTest(int a, int b, int expected) {
this.a = a;
this.b = b;
this.expected = expected;
}
@Parameterized.Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{
{1, 1, 2},
{2, 3, 5},
{5, 5, 10}
});
}
@Test
public void testAdd() {
assertEquals(expected, new Calculator().add(a, b));
}
}
测试套件
使用@Suite.SuiteClasses创建测试套件运行多个测试类:

@RunWith(Suite.class)
@Suite.SuiteClasses({
CalculatorTest.class,
CalculatorParamTest.class
})
public class AllTests {
}





