在Maven中配置JUnit目录结构

我有一个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类文件的最佳实践是什么,是否值得尝试为组织目的创建新的子目录?

zhaozihong1 回答:在Maven中配置JUnit目录结构

我认为错误是由于仅从项目根目录以外的其他地方运行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的包。

本文链接:https://www.f2er.com/3122498.html

大家都在问