В настоящее время у меня есть простой тест 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..");