当前位置: 首页 > 知识库问答 >
问题:

如何从Archunit测试中排除包?

巴英韶
2023-03-14

在我的根项目中,我有两个子项目具有这种包结构。

Project 1: com.app
Project 2: com.app.api

在项目1中,我有一个用大规定义的类,就像这样

@AnalyzeClasses( packages = "com.app")
public class ArchTests

问题是,如果我运行该测试,它也会分析项目2中的所有内容。我如何排除包com.app.api?

共有1个答案

利思源
2023-03-14

您可以使用自定义导入选项:

@AnalyzeClasses(packages = "com.app", importOptions = ExcludeApiImportOption.class)

其中导入选项主要是一个谓词,用于判断是否应导入位置:

class ExcludeApiImportOption implements com.tngtech.archunit.core.importer.ImportOption {
    @Override
    public boolean includes(Location location) {
        return  // ... whether location is not in "com.app.api"
    }
}
 类似资料:
  • 在ArchUnit-Test中,是否有可能从分层测试条件中排除特定的类? 希望我能说清楚...

  • 我的项目结构如下: 在Jenkins工作中,根pom是(因为我希望整个项目是为功能覆盖的JaCoCo报告构建的),当运行覆盖报告生成的Maven目标时,我将pom指定为模块FT/pom.xml. 现在,当显示测试结果时,它向我显示了一个总的being=FTs其他模块中的所有单元测试,而我想从报告生成中排除UTs。 但我不认为这与杰科科有关,因为我说的不是杰科科的报告,而是测试结果。单元测试也被计算

  • 我现在正处于一个艰难的项目中,其中一个重要部分被重构,并通过大量失败的测试进行了检入。 我在maven中运行PIT,但由于测试必须是绿色的,所以我已经很长时间不能运行了,但我希望至少在运行的测试上有PIT概述。 将失败测试与PIT隔离的最有效方法是什么?

  • 我有一系列具有类似结构的Java Dropwizard微服务。我的目标是编写一组ArchUnit测试用例,这些测试用例需要在每个服务中运行,如果这些测试用例失败,构建就会失败。 由于检查将是相似的,我是否可能提取出一个公共库中的所有测试用例,并将其作为依赖项添加到每个服务中?如何从库中添加测试用例以在服务的构建中运行?

  • 我编写了我的第一个ArchUnit测试: 这个项目是用Maven构建的,所以类在不同的目录中。 将名称以“tests”或其他东西结尾的类分开是不够的,因为有许多类不是测试,而是只存在于测试类路径中。