如何从 Archunit 测试中排除一个包?
How to exclude a package from Archunit Tests?
在我的根项目中,我有两个具有该包结构的子项目。
Project 1: com.app
Project 2: com.app.api
在项目 1 中,我有一个 Class 用 ArchRules 定义的,像那样
@AnalyzeClasses( packages = "com.app")
public class ArchTests
问题是,如果我 运行 该测试,它也会分析项目 2 中的所有内容。我如何排除包 com.app.api?
您可以使用自定义 importOptions:
@AnalyzeClasses(packages = "com.app", importOptions = ExcludeApiImportOption.class)
是否应该导入 ImportOption
is bascially a predicate whether a Location
的位置:
class ExcludeApiImportOption implements com.tngtech.archunit.core.importer.ImportOption {
@Override
public boolean includes(Location location) {
return // ... whether location is not in "com.app.api"
}
}
在我的根项目中,我有两个具有该包结构的子项目。
Project 1: com.app
Project 2: com.app.api
在项目 1 中,我有一个 Class 用 ArchRules 定义的,像那样
@AnalyzeClasses( packages = "com.app")
public class ArchTests
问题是,如果我 运行 该测试,它也会分析项目 2 中的所有内容。我如何排除包 com.app.api?
您可以使用自定义 importOptions:
@AnalyzeClasses(packages = "com.app", importOptions = ExcludeApiImportOption.class)
是否应该导入 ImportOption
is bascially a predicate whether a Location
的位置:
class ExcludeApiImportOption implements com.tngtech.archunit.core.importer.ImportOption {
@Override
public boolean includes(Location location) {
return // ... whether location is not in "com.app.api"
}
}