我在 0.18.0 版本中使用 ArchUnit,但我遇到的问题是我违反了应该排除的测试类。
使用导入选项排除测试类DO_NOT_INCLUDE_TESTS
。此外,过滤器会排除以“Test”结尾的类。
JavaClasses classes = new ClassFileImporter()
.withImportOption(ImportOption.Predefined.DO_NOT_INCLUDE_TESTS)
.importPackages(rootPackageNames)
.that(DescribedPredicate.not(JavaClass.Predicates.simpleNameEndingWith("Test")));
尽管如此,由于从测试类访问 中的类,以下访问规则失败packageIdentifierWithRestrictedAccess
:
classes().that()
.resideInAPackage(packageIdentifierWithRestrictedAccess)
.should()
.onlyBeAccessed()
.byAnyPackage(packageIdentifiersAllowedToAccessWithSelf);
这是预期的行为还是 ArchUnit 中的错误?