繁体   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