【问题标题】:Executing ArchUnit tests from a java library从 java 库执行 ArchUnit 测试
【发布时间】:2019-10-30 12:58:23
【问题描述】:

我有一堆具有类似结构的 Java Dropwizard 微服务。我的目标是编写一组 ArchUnit 测试用例,这些测试用例需要在每个服务中运行,如果这些测试用例失败,构建应该会失败。

由于检查是相似的,我是否可以在一个公共库中提取所有测试用例并将其作为依赖项添加到每个服务中?如何从库中添加测试用例以在服务构建中运行?

【问题讨论】:

    标签: java testing archunit


    【解决方案1】:

    如果你使用 JUnit、Maven 和 Maven Surefire 插件,任务很简单:

    • 将所有 ArchUnit 测试打包为 Maven 工件,例如使用 groupId 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>
      
    • 在您的其他工件的 pom 中配置 Maven Surefire 插件,以便在测试运行中包含测试:
      <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

    【讨论】:

      猜你喜欢
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 2021-07-01
      • 2022-12-03
      相关资源
      最近更新 更多