繁体   English   中英

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

[英]Unable to run JUnit tests inside a Maven project in IntelliJ IDEA

我有一个 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 社区版的 Maven 项目中运行基本的 JUnit 测试, pom.xml文件应该如何显示?

是 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 非常接近)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM