Skip to content

Instantly share code, notes, and snippets.

@BenjaminKlatt
Created October 12, 2020 15:54
Show Gist options
  • Save BenjaminKlatt/235d533579de96dfdde67fae4b1b1f5b to your computer and use it in GitHub Desktop.
Save BenjaminKlatt/235d533579de96dfdde67fae4b1b1f5b to your computer and use it in GitHub Desktop.
ArchUnit OnionArchitecture Test
package de.viadee.architecture.archunit.architecture;
import static com.tngtech.archunit.library.Architectures.onionArchitecture;
import com.tngtech.archunit.core.importer.ImportOption;
import com.tngtech.archunit.junit.AnalyzeClasses;
import com.tngtech.archunit.junit.ArchTest;
import com.tngtech.archunit.lang.ArchRule;
@AnalyzeClasses(
packages = "de.viadee.architecture.archunit",
importOptions = {
ImportOption.DoNotIncludeTests.class,
ImportOption.DoNotIncludeJars.class,
ImportOption.DoNotIncludeArchives.class
})
public class OnionArchitectureRulesTest {
@ArchTest
public static final ArchRule onion_dependency_rule = onionArchitecture()
.domainModels("..domain.model..")
.domainServices("..domain.services..")
.applicationServices("..application..")
.adapter("Persistence", "..adapter.persistence..")
.adapter("REST API", "..api.rest..")
.withOptionalLayers(true);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment