原文: https://javatutorial.net/how-to-run-junit-test-with-maven

    本教程将介绍如何使用 Maven 的 Surefire 插件运行单元测试。 如果您不熟悉单元测试,则可以按照本教程快速了解

    如何使用 Maven 运行 JUnit 测试 - 图1

    在我们的 Maven 项目中,我们需要以下强制性依赖项:

    1. <dependencies>
    2. <dependency>
    3. <groupId>org.junit.jupiter</groupId>
    4. <artifactId>junit-jupiter-api</artifactId>
    5. <version>5.4.2</version>
    6. <scope>test</scope>
    7. </dependency>
    8. <dependency>
    9. <groupId>org.junit.jupiter</groupId>
    10. <artifactId>junit-jupiter-engine</artifactId>
    11. <version>5.4.2</version>
    12. <scope>test</scope>
    13. </dependency>
    14. </dependencies>

    junit-jupiter-engine依赖项包含运行我们的单元测试的 JUnit Jupiter 测试引擎的实现。

    junit-jupiter-api依赖项提供了 API,使我们能够编写使用 JUnit 5 的测试和扩展。

    因此,让我们创建一个非常简单的 Java 文件:

    1. import org.junit.jupiter.api.Test;
    2. import static org.junit.jupiter.api.Assertions.assertEquals;
    3. public class Example1 {
    4. public static int getNumber() {
    5. return 5;
    6. }
    7. public static String getMeaningfulText() {
    8. return "Hello World";
    9. }
    10. }

    现在,为它创建一个 Test 类:

    1. import org.junit.jupiter.api.Test;
    2. import static org.junit.jupiter.api.Assertions.assertEquals;
    3. public class TestExample1 {
    4. @Test
    5. public void testNumber() {
    6. assertEquals(5, Example1.getNumber());
    7. }
    8. @Test
    9. public void testMeaningfulText () {
    10. assertEquals(“Hello World”, Exampe1.getMeaningfulText ());
    11. }
    12. }

    最后,我们可以使用mvn clean build运行程序,并且应该看到 Superfire 插件正在运行我们的单元测试

    1. [INFO]
    2. [INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ running-unit-tests ---
    3. [INFO]------------------------------------------------------- T E S T S-------------------------------------------------------Running net.javatutorial.junit5.JUnit5Example1Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.039 sec -in net.javatutorial.junit5.JUnit5Example1Results :Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
    4. [INFO] ------------------------------------------------------------------------[
    5. INFO] BUILD SUCCESS[
    6. INFO] ------------------------------------------------------------------------