java 如何用junit
使用 JUnit 进行 Java 单元测试
JUnit 是 Java 中最流行的单元测试框架之一,用于编写和运行可重复的测试。以下是使用 JUnit 的基本方法和步骤。
添加 JUnit 依赖
在 Maven 项目中,可以通过在 pom.xml 文件中添加以下依赖来引入 JUnit:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
对于 Gradle 项目,可以在 build.gradle 中添加:
testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2'
编写测试类
创建一个测试类,通常以 Test 作为类名后缀。测试方法需要使用 @Test 注解标记。
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));
}
}
常用断言方法
JUnit 提供了多种断言方法用于验证测试结果:

assertEquals(expected, actual):验证期望值和实际值是否相等。assertTrue(condition):验证条件是否为真。assertFalse(condition):验证条件是否为假。assertNull(object):验证对象是否为 null。assertNotNull(object):验证对象是否不为 null。
测试生命周期注解
JUnit 提供了一些注解用于控制测试的生命周期:
@BeforeEach:在每个测试方法之前执行。@AfterEach:在每个测试方法之后执行。@BeforeAll:在所有测试方法之前执行(静态方法)。@AfterAll:在所有测试方法之后执行(静态方法)。
import org.junit.jupiter.api.*;
public class LifecycleTest {
@BeforeAll
public static void setupAll() {
System.out.println("Before all tests");
}
@BeforeEach
public void setup() {
System.out.println("Before each test");
}
@Test
public void test1() {
System.out.println("Test 1");
}
@Test
public void test2() {
System.out.println("Test 2");
}
@AfterEach
public void tearDown() {
System.out.println("After each test");
}
@AfterAll
public static void tearDownAll() {
System.out.println("After all tests");
}
}
参数化测试
JUnit 支持参数化测试,允许使用不同的参数运行同一个测试方法。
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
public class ParameterizedTestExample {
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
public void testWithValues(int value) {
assertTrue(value > 0);
}
}
异常测试
可以使用 assertThrows 来验证代码是否抛出了预期的异常。

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class ExceptionTest {
@Test
public void testException() {
assertThrows(IllegalArgumentException.class, () -> {
throw new IllegalArgumentException("Error");
});
}
}
运行测试
在大多数 IDE(如 IntelliJ IDEA 或 Eclipse)中,可以直接右键点击测试类或方法并选择“Run Test”。也可以通过 Maven 或 Gradle 命令行运行测试:
mvn test
或
gradle test
测试套件
如果需要同时运行多个测试类,可以使用 @Suite 注解创建一个测试套件。
import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.Suite;
@Suite
@SelectClasses({CalculatorTest.class, LifecycleTest.class})
public class TestSuite {
}
通过以上方法,可以有效地使用 JUnit 进行 Java 单元测试,确保代码的质量和可靠性。






