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
xml
<dependency> <groupId>com.tngtech.archunit</groupId> <artifactId>archunit-junit4</artifactId> <version>1.4.1</version> <scope>test</scope> </dependency>
JUnit 5
xml
<dependency> <groupId>com.tngtech.archunit</groupId> <artifactId>archunit-junit5</artifactId> <version>1.4.1</version> <scope>test</scope> </dependency>
Other test frameworks
xml
<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.shto clone examples only when needed. - •Use
--dest /tmp/archunit-examplesto override the destination. - •The default destination
/tmp/archunit-examplesis auto-cleaned when it already exists. - •Use
--cleanto overwrite a custom destination. - •Use
example-junit4,example-junit5, orexample-plainas the starting point.
Resources
- •Use https://github.com/TNG/ArchUnit-Examples.git for runnable examples.
- •Read
references/arch-unit-maven-plugin.mdto configure Maven-based governance. - •Check https://www.archunit.org/userguide for rule APIs and patterns.
- •Check https://github.com/TNG/ArchUnit for source and release notes.