【发布时间】:2019-10-30 12:58:23
【问题描述】:
我有一堆具有类似结构的 Java Dropwizard 微服务。我的目标是编写一组 ArchUnit 测试用例,这些测试用例需要在每个服务中运行,如果这些测试用例失败,构建应该会失败。
由于检查是相似的,我是否可以在一个公共库中提取所有测试用例并将其作为依赖项添加到每个服务中?如何从库中添加测试用例以在服务构建中运行?
【问题讨论】:
我有一堆具有类似结构的 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
【讨论】: