我目前有一个简单的 ArchUnit 测试,用于检查驻留在包中的所有类是否只能在该类中访问。
但是,我想从该规则中排除一个特定的类别,但我似乎无法找到一种方法来做到这一点。
val rule: ArchRule =
classes().that().resideInAPackage("$base..").should().onlyBeAccessed().byClassesThat()
.resideInAPackage("$base..")
rule.check(importedClasses)
但是我想从规则中排除 $base.myClass,但这一切似乎都适用于包而不是类。
这应该有效:
val rule: ArchRule =
classes()
.that().resideInAPackage("$base..").and().doNotHaveFullyQualifiedName("$base.myClass")
.should().onlyBeAccessed().byClassesThat().resideInAPackage("$base..");