gpt4 book ai didi

java - 无法在 IntelliJ IDEA 中的 Maven 项目内运行 JUnit 测试

转载 作者:行者123 更新时间:2023-12-02 09:00:03 26 4
gpt4 key购买 nike

我有一个已有 3 年历史的 Maven 项目,3 年前在 IntelliJ IDEA 中运行良好。我现在正尝试返回该项目,但无法再运行 JUnit 测试。测试本身并没有什么特别的,它只是基本的 @TestassertTrue 东西。我怀疑问题出在我的 pom.xml 文件上。

如果我尝试使用 3 年前的原始 pom.xml 文件运行测试,则会收到错误“未找到测试”。我尝试更新我的依赖项,更新后出现不同的错误:java.lang.NoSuchMethodError: 'java.util.Optional org.junit.jupiter.api.extension.ExtensionContext.getTestInstanceLifecycle()'。这似乎是 JUnit 的某种内部错误。我花了 1 小时谷歌搜索,随机尝试了不同的方法来设置依赖项,但到目前为止没有任何效果。

为了允许在 IntelliJ IDEA 2019.3.2 Community Edition 的 Maven 项目中运行基本 JUnit 测试,pom.xml 文件应该是什么样子?

Here是3年前的pom.xml文件。

最佳答案

总而言之,您应该创建对 junit-jupiter-engine 而不是 api (引擎将带来 api)的依赖项,并升级运行测试的 Surefire 插件版本:

    <dependencies>

<!-- junit 5 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.6.0</version>
<scope>test</scope>
</dependency>

</dependencies>
...
<build>
<plugins>

<!-- Requires at least 2.22.0 otherwise junit 5 doesn't work-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
</plugin>
...
</plugins>
</build>

您可以找到最小设置的工作示例(这与您相当基本的 pom.xml 非常接近)in this tutorial

关于java - 无法在 IntelliJ IDEA 中的 Maven 项目内运行 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60232893/

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