package com.tngtech.archunit.exampletest.junit; import javax.persistence.EntityManager; import com.tngtech.archunit.junit.AnalyzeClasses; import com.tngtech.archunit.junit.ArchIgnore; import com.tngtech.archunit.junit.ArchTest; import com.tngtech.archunit.junit.ArchUnitRunner; import com.tngtech.archunit.lang.ArchRule; import org.junit.runner.RunWith; import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.noClasses; @ArchIgnore @RunWith(ArchUnitRunner.class) @AnalyzeClasses(packages = "com.tngtech.archunit.example") public class DaoRulesWithRunnerTest { @ArchTest public static final ArchRule only_DAOs_may_use_the_EntityManager = noClasses().that().resideOutsideOfPackage("..dao..") .should().accessClassesThat().areAssignableTo(EntityManager.class) .as("Only DAOs may use the " + EntityManager.class.getSimpleName()); }