ArchUnit在网上的讲解实例太少了(虽然用的人也很少哈哈),当初需要用的时候找了很多,但是都没有很详细的使用,所以记录一下使用ArchUnit的过程,获取能给大家提供些许的帮助。
一.ArchUnit使用准备
1.1ArchUnit-准备:
通过MAVEN或JAR包的形式导入ArchUnit以及Junit。
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
<version>0.9.3</version>
<scope>test</scope>
</dependency>
1.1.1加载ArchUnitRunner(Junit5中不再需要加载)
1.1.2指定ArchUnit扫描的PACKAGE
与Junit4或者Junit5结合使用时用此注解扫描指定包中的类
使用前引入ArchRuleDefinition作为入口点(class()\noClass())。ArchRuleDefinition提供了一个入口,可以依次对导入的类进行规则的判断。
1.1.3制定规则
可以使用@ArchTest注解将ArchRule定义为static final类型,在启动测试类时规则会编译执行。
或者与Junit结合使用
ArchUnit 的User Guide给出的定义是:
ArchUnit 可以用于检查Java代码的体系结构。也就是说,ArchUnit可以检查包和类,层级