我有一堆具有类似结构的 Java Dropwizard 微服务。我的目标是编写一组 ArchUnit 测试用例,这些测试用例需要在每个服务中运行,如果这些测试用例失败,构建应该会失败。
由于检查将是相似的,我是否可以在一个公共库中提取所有测试用例并将其作为依赖项添加到每个服务中?如何从库中添加要在服务构建中运行的测试用例?
如果你使用 JUnit、Maven 和 Maven Surefire 插件,任务很简单:
org.myproject
和 artifactId myproject-archunit-tests
。将依赖信息添加到具有测试范围的其他工件的 pom 中:
<dependency>
<groupId>org.myproject</groupId>
<artifactId>myproject-archunit-tests</artifactId>
<version>0.0.1</version>
<scope>test</scope>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<dependenciesToScan>
<dependency>org.myproject:myproject-archunit-tests</dependency>
</dependenciesToScan>
</configuration>
</plugin>
另请参阅https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#dependenciesToScan