ArchUnit Verification
Workflow
- Identify the architectural rules to enforce (layers, packages, slices, cycles, coding rules).
- Choose the test framework (JUnit 4, JUnit 5, or plain unit tests).
- Add the matching ArchUnit dependency.
- Write ArchUnit rules in test sources and run them in CI.
- Use the Maven plugin when you need cross-repo governance.
Dependencies
JUnit 4
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit4</artifactId>
<version>1.4.1</version>
<scope>test</scope>
</dependency>
JUnit 5
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5</artifactId>
<version>1.4.1</version>
<scope>test</scope>
</dependency>
Other test frameworks
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
<version>1.4.1</version>
<scope>test</scope>
</dependency>
On-demand examples
- Run
scripts/fetch-examples.sh to clone examples only when needed.
- Use
--dest /tmp/archunit-examples to override the destination.
- The default destination
/tmp/archunit-examples is auto-cleaned when it already exists.
- Use
--clean to overwrite a custom destination.
- Use
example-junit4, example-junit5, or example-plain as the starting point.
Resources