ArchUnit是一个免费、简单且可扩展的库,用于检查Java代码的架构。它可以检查包和类之间的依赖关系、层和切片,检查循环依赖等。它通过分析给定的Java字节码,将所有类导入到Java代码结构中来实现这些功能。ArchUnit的主要目的是使用任何普通的Java单元测试框架自动测试架构和编码规则。
testImplementation 'com.tngtech.archunit:archunit:1.3.0'
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
<version>1.3.0</version>
<scope>test</scope>
</dependency>
import com.tngtech.archunit.core.domain.JavaClasses; import com.tngtech.archunit.core.importer.ClassFileImporter; import com.tngtech.archunit.lang.ArchRule; import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes; public class MyArchitectureTest { @Test public void some_architecture_rule() { JavaClasses importedClasses = new ClassFileImporter().importPackages("com.myapp"); ArchRule rule = classes()... // 见下一节 rule.check(importedClasses); } }

如需更多信息,请查看http://archunit.org上的用户指南,或查看ArchUnit示例中当前版本的测试示例。
ArchUnit根据Apache许可证2.0发布,详情请见http://www.apache.org/licenses/LICENSE-2.0。
它重新分发了一些第三方库:
ArchUnit和重新分发的库的所有许可证都可以在licenses文件夹中找到。