【发布时间】:2025-11-29 22:45:01
【问题描述】:
我最近开始将我的项目从 ant 迁移到 maven。我的应用程序中有两个模块,我可以使用 maven 构建它们。
现在我有了自动化测试项目,它使用 Web 驱动程序来测试 UI 功能。我正在尝试使用 maven 构建两个模块战争并将它们部署到 tomcat 上。然后对它们运行自动化测试,如果自动化测试通过,则通过构建。我已经像这样配置了我的 pom(仅提及重要部分):
<packaging>pom</packaging>
<modules>
<module>../module1</module>
<module>../module2</module>
</modules>
现在这两个项目都已构建和部署,但它不运行自动化测试。我认为的原因是包装类型是POM。但是如果我把它改成战争,它就会开始抛出错误。
我可以考虑为自动化和父 pom 创建第三个 pom 以将其作为模块也包含在内。但我在想这是否是正确的方法。这应该是一个非常常见的场景,maven 应该直接支持它。
【问题讨论】:
-
你的测试模块是不同的项目还是只是打包结构的一部分?
-
然后我建议为该项目创建一个 pom 并将其正确设置在层次结构中,然后运行
mvn compile test -
如何正确设置层次结构。我唯一要确保的是,每当我运行这个构建时,它应该构建两个依赖项目,然后运行这些测试。
-
有问题的自动化模块是什么?测试地点在哪里?你如何部署到tomcat服务器?很多重要的细节都没有得到 IMO 的答案。
-
嗨 Pascal,自动化模块是基于 WebDriver 的自动化测试,用于测试 UI。它依赖于网络战争,但没有包依赖。我正在使用 cargo maven 插件部署到 tomcat。我想在运行自动化测试之前从源代码构建网络战争,然后在tomcat上部署,然后运行测试。我可以使用 ant build 完成所有这些操作,但无法使用 maven。
标签: java testing maven-2 functional-testing cargo