gpt4 book ai didi

java - 为什么使用 junit-jupiter(聚合器)执行测试而不使用单独的依赖项?

转载 作者:行者123 更新时间:2023-11-30 12:04:21 24 4
gpt4 key购买 nike

我正在使用 Maven 构建一个 Spring boot 项目。

当我像这样设置 Junit jupiter 依赖时

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.5.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.5.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.5.1</version>
<scope>test</scope>
</dependency>

我得到了错误

juil. 23, 2019 10:47:42 PM org.junit.platform.launcher.core.DefaultLauncher handleThrowable AVERTISSEMENT: TestEngine with ID 'junit-jupiter' failed to discover tests java.lang.NoClassDefFoundError: org/junit/platform/engine/support/discovery/SelectorResolver

但是当我使用聚合器设置依赖项时,测试会正常执行。

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.5.1</version>
<scope>test</scope>
</dependency>

那么这两者有什么区别呢?

最佳答案

您缺少 junit-platform-launcher Artifact 。参见 official JUnit 5 User Guide :

JUnit 5 = JUnit 平台 + JUnit Jupiter + JUnit Vintage

您应该将此添加到您的 pom.xml:

<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.5.2</version>
<scope>test</scope>
</dependency>

关于java - 为什么使用 junit-jupiter(聚合器)执行测试而不使用单独的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57172117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com