gpt4 book ai didi

java - 在 Maven 中配置 JUnit 目录结构

转载 作者:行者123 更新时间:2023-11-30 05:25:16 25 4
gpt4 key购买 nike

我有一个 Java Spring 应用程序,目录中包含单元测试

src/test具体src/test/com/client/rest

我想在此处添加一个子目录,例如

src/test/com/client/rest/controllers

其中包含应用程序所有 Controller 的单元测试。我在此目录中创建了一个带有“@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 元素,但这不起作用。在添加这个新文件之前,测试运行良好 <testSourceDirectory>src/test</testSourceDirectory>在构建元素下。

如何正确地将这个新的 JUnit 目录集成到 Maven 中?

编辑:我将新文件移动到其他 JUnit 测试文件所在的标准父目录 ( src/test/com/client/rest ),并且似乎注册良好。存储 JUnit 类文件的最佳实践是什么?出于组织目的是否值得尝试创建新的子目录?

最佳答案

我认为错误来自于从项目根目录以外的其他地方运行 mvn 命令。

How do I properly integrate this new JUnit directory into Maven?

遵循 Maven 标准目录布局 - https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

您的测试应该位于 src/test/java/com/client/rest/controllers 下。然后它们应该是可发现的并且无需任何额外的 Maven 配置即可工作。

What is the best practice for storing JUnit class files, and is it worthwhile to try to create new child directories for organizational purposes?

组织测试是值得的。我认为您缺少的部分是您正在用 Java 编写测试,因此您需要使用目录和包来组织测试。因此,位于 src/test/java/com/client/rest/controllers 下的测试将具有 com.client.rest.controllers 包。

关于java - 在 Maven 中配置 JUnit 目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58805850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com