ArchTest
ArchTest is a rule based architecture testing tool. It applies static analyses on the specified rust project to extract use relationships.
Features
- Detect cyclic dependencies level wise or module wise
- Prohibit parent access
- Define layer relationships like
MayNotAccess
,MayOnlyAccess
,MyNotBeAccessedBy
,MayOnlyBeAccessedBy
etc. - For more access rules consult
access_rules
.
Install
[]
= "*"
How to use it
You can use the Architecture
struct in order to define your architecture. Afterwards you check it for failures.
let architecture = new
.with_access_rule
.with_access_rule
.with_access_rule
...
.with_access_rule;
let module_tree = new;
assert!;
assert!;
If you are interested in the failure you can pretty print it like this:
architecture.check_access_rules.err.unwrap.print;