我的问题包括两个maven项目,一个服务器项目A和一个客户端项目B.A使用maven-assembly-plugin生成A的几个变体,其中一个变量是WAR归档。我面临的问题与B的测试驱动开发有关; 如何使项目A中生成的WAR存档可以从项目B中的单元测试中访问/寻址?我的想法是在项目B中构建测试用例,其中WAR存档部署在嵌入式Jetty服务器中WebApppContext的setWar(String path)函数。
答案 0 :(得分:1)
您可以将其他子模块中的工件声明为测试依赖项,例如:
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ModuleA</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
通过这种方式,您可以使用其他模块中的罐子。我不确定它是否适用于WAR文件 - 但它可能值得一试。
请注意,针对嵌入式Web容器中部署的WAR运行的测试很难算作单元测试,而是集成测试。在项目中运作的方法是: