[英]Unable to run JUnit tests inside a Maven project in IntelliJ IDEA
我有一个 3 年前的 Maven 项目,该项目在 3 年前在 IntelliJ IDEA 中运行良好。 我现在正在尝试返回到该项目,但我无法再运行 JUnit 测试。 测试本身并没有什么特别之处,它是非常基本的@Test
和assertTrue
东西。 我怀疑问题出在我的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.