我已经获得了需要测试的现有 Java 应用程序(我们称之为“WebApp”)的源代码。它作为 WAR 文件部署到 Glassfish 中。这是客户代码,因此如果我能提供帮助,我希望避免修改 WebApp POM。
所以我正在创建一个单独的项目(在 Eclipse 中)来进行测试。新项目需要直接在各种 WebApp 类上调用方法。我尝试将 WAR 文件引用为 Maven 依赖项,但这样做后它不会出现在 Eclipse 的 Maven 依赖项中 - 见下文:
WebApp
src/main/java
...
pom.xml
WebAppTest
src/main/test
test.package.name
webAppAcceptanceTestIT.java
Maven Dependencies
junit-4.6.jar
mockito-all-1.9.5.jar
<<< No WebApp war/jars here >>>
WebAppTest 的 pom 中的依赖项如下所示:
<dependency>
<groupId>...</groupId>
<artifactId>webapp</artifactid>
<version>...</version>
<type>war</type>
<scope>compile</scope>
</dependency>
已经尝试过type=jar
,scope=test
但这些都没有达到目标。不确定我是否遗漏了什么或以错误的方式解决这个问题?我应该改用 Maven 模块吗?不想让事情过于复杂。当然,我可以作弊并将 WebApp 添加到 WebAppTest 的构建路径中,但我想做到这一点,以便它在部署时工作。
另一个问题 - WebAppTest 应该打包为 WAR 还是 JAR?它只包含执行 WebApp 代码和检查结果的测试。我是否认为它仍然需要作为 WAR 文件部署到 Glassfish 中?