簡體   English   中英

在 Maven 中配置 JUnit 目錄結構

[英]Configuring JUnit Directory Structure in Maven

我有一個 Java Spring 應用程序,目錄中有單元測試

src/test具體src/test/com/client/rest

我想在這里添加一個子目錄,比如

src/test/com/client/rest/controllers

其中包含應用程序所有控制器的單元測試。 我在這個目錄中創建了一個帶有“@Test”端點的文件,但沒有對 POM.xml 做任何事情。 當我運行mvn clean package時,出現以下錯誤

The goal you specified requires a project to execute but there is no POM in this directory [path]. Please verify you invoked Maven from the correct directory.

我嘗試在 POM.xml 的 build 下將此新目錄添加為 testResource 元素,但這不起作用。 在添加這個新文件之前,使用 build 元素下的<testSourceDirectory>src/test</testSourceDirectory>測試運行良好。

如何將這個新的 JUnit 目錄正確集成到 Maven 中?

編輯:我將我的新文件移動到其他 JUnit 測試文件所在的標准父目錄( src/test/com/client/rest ),它似乎注冊得很好。 存儲 JUnit class 文件的最佳做法是什么,是否值得嘗試為組織目的創建新的子目錄?

我認為錯誤來自僅從項目根目錄以外的其他地方運行mvn命令。

如何將這個新的 JUnit 目錄正確集成到 Maven 中?

Follow the Maven Standard Directory Layout - https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

您的測試應該在src/test/java/com/client/rest/controllers下。 然后它們應該可以被發現並且無需任何額外的 Maven 配置即可正常工作。

存儲 JUnit class 文件的最佳做法是什么,是否值得嘗試為組織目的創建新的子目錄?

組織你的測試是值得的。 我認為您缺少的部分是您正在 Java 中編寫測試,因此您需要使用目錄和包來組織測試。 因此,位於src/test/java/com/client/rest/controllers下的測試將具有 com.client.rest.controller 的com.client.rest.controllers

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM