Skip to content

Instantly share code, notes, and snippets.

@RyanSusana
Last active December 1, 2021 15:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RyanSusana/b6181df258d68a1e1f75d6e799a777c5 to your computer and use it in GitHub Desktop.
Save RyanSusana/b6181df258d68a1e1f75d6e799a777c5 to your computer and use it in GitHub Desktop.
Layered Architecture Test
private final JavaClasses classes = new ClassFileImporter().importPackages("com.tngtech.archunit.example.layers");
@Test
public void layer_dependencies_are_respected() {
layeredArchitecture()
.layer("Controllers").definedBy("..controller..")
.layer("Services").definedBy("..layers.service..")
.layer("Persistence").definedBy("..layers.persistence..")
.whereLayer("Controllers").mayNotBeAccessedByAnyLayer()
.whereLayer("Services").mayOnlyBeAccessedByLayers("Controllers")
.whereLayer("Persistence").mayOnlyBeAccessedByLayers("Services")
.check(classes);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment