【问题标题】:Configuring JUnit Directory Structure in Maven在 Maven 中配置 JUnit 目录结构
【发布时间】:2019-11-11 17:14:44
【问题描述】:

我在目录中有一个带有单元测试的 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 元素,但这不起作用。在添加这个新文件之前,测试运行良好,<testSourceDirectory>src/test</testSourceDirectory> 在 build 元素下。

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

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

【问题讨论】:

    标签: java spring maven junit


    【解决方案1】:

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

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

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

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

    存储 JUnit 类文件的最佳做法是什么,是否值得尝试为组织目的创建新的子目录?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 2015-05-21
      • 1970-01-01
      相关资源
      最近更新 更多