[英]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.