我想将黄瓜测试(.feature文件)保存在一个单独的jar项目中(仅用于打包为test-jar),并将此jar声明为另一个项目中的依赖项。
A 是测试jar项目(生成 A-0.1-tests.jar )
B 是将 A 声明为测试依赖项的项目
这应该有用吗?它没有为我的任何测试运行。只需忽略测试目标。
这是一个pom片段:
创建这样的jar:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<classifier>tests</classifier>
</configuration>
</execution>
</executions>
</plugin>
B 调用这个jar就像这样:
<dependency>
<groupId>com.group</groupId>
<artifactId>A</artifactId>
<classifier>tests</classifier>
</dependency>
我遗失了什么......有人吗?
答案 0 :(得分:0)
您的测试不存在于主模块中,因此即使存在对测试的依赖性,maven也不会运行它们(这意味着您的主代码需要测试才能执行,这无论如何都是错误的。)
根本不需要这样做。如果您遵循maven中记录的标准代码结构,您将更容易找到所有内容 - 包括创建测试代码jar。你应该把你的主要和测试代码放在一个模块中 - 这适用于整个行业的其他人,你不需要自己发明任何新东西,如果你只是随身携带你就可以了
您可以使用mvn jar插件mvn jar:test-jar
创建一个包含测试的jar,与模块中的其他类分开,而无需在单独的模块中进行测试。 Here is a document describing this