簡體   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