原文: https://howtodoinjava.com/junit5/execute-testcase-eclipse/

学习在 Eclipse IDE 中执行 JUnit5 测试。 在这个 JUnit5 示例中,已使用 Maven 导入依赖项。

1. JUnit5 Maven 依赖项

为了能够在 Eclipse 中执行 JUnit5 测试,我们需要以下依赖项。

  • test范围中的junit-platform-runnerJUnitPlatform运行器的位置
  • test范围中的junit-jupiter-api:用于编写测试的 API,包括@Test等。当包含junit-jupiter-engine时,将其包括在内。
  • 测试运行时范围中的junit-jupiter-engine:JUnit Jupiter 的引擎 API 的实现。
  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.howtodoinjava</groupId>
  6. <artifactId>JUnit5Examples</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <properties>
  10. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  11. <maven.compiler.source>1.8</maven.compiler.source>
  12. <maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
  13. <junit.jupiter.version>5.5.2</junit.jupiter.version>
  14. <junit.platform.version>1.5.2</junit.platform.version>
  15. </properties>
  16. <dependencies>
  17. <dependency>
  18. <groupId>org.junit.jupiter</groupId>
  19. <artifactId>junit-jupiter-engine</artifactId>
  20. <version>${junit.jupiter.version}</version>
  21. <scope>test</scope>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.junit.platform</groupId>
  25. <artifactId>junit-platform-runner</artifactId>
  26. <version>${junit.platform.version}</version>
  27. <scope>test</scope>
  28. </dependency>
  29. </dependencies>
  30. <build>
  31. <plugins>
  32. <plugin>
  33. <artifactId>maven-compiler-plugin</artifactId>
  34. <version>3.8.1</version>
  35. </plugin>
  36. <plugin>
  37. <artifactId>maven-surefire-plugin</artifactId>
  38. <version>2.22.2</version>
  39. </plugin>
  40. </plugins>
  41. </build>
  42. </project>

2. @RunWith(JUnitPlatform.class)

JUnitPlatform允许测试与 IDE 一起运行并构建支持 JUnit4 但尚不直接支持 JUnit 平台的系统。

  1. package net.restfulapi.demo;
  2. import org.junit.jupiter.api.Assertions;
  3. import org.junit.jupiter.api.DisplayName;
  4. import org.junit.jupiter.api.Test;
  5. import org.junit.jupiter.api.TestInfo;
  6. import org.junit.platform.runner.JUnitPlatform;
  7. import org.junit.runner.RunWith;
  8. @RunWith(JUnitPlatform.class)
  9. public class TestApplication {
  10. @Test
  11. @DisplayName("My First Test")
  12. void myFirstTest(TestInfo testInfo) {
  13. NumericCalculator calculator = new NumericCalculator();
  14. Assertions.assertEquals(2, calculator.add(1, 1), "1 + 1 = 2");
  15. Assertions.assertEquals("My First Test", testInfo.getDisplayName(),
  16. () -> "TestInfo is injected correctly");
  17. }
  18. }

其中NumericCalculator类是:

  1. package net.restfulapi.demo;
  2. public class NumericCalculator {
  3. public int add(int a, int b) {
  4. return a + b;
  5. }
  6. }

3. 演示

现在,将其余部分作为 Eclipse 中的 junit 测试用例运行。

您将获得以下输出。

JUnit5 – 在 Eclipse 中执行测试 - 图1

JUnit5 eclipse 示例

学习愉快!