Class ArchUnitTestEngine

  • All Implemented Interfaces:
    org.junit.platform.engine.TestEngine

    @Internal
    public final class ArchUnitTestEngine
    extends org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine<com.tngtech.archunit.junit.ArchUnitEngineExecutionContext>
    A simple test engine to discover and execute ArchUnit tests with JUnit 5. In particular the engine uses a ClassCache to avoid the costly import process as much as possible.

    Mark classes to be executed by the ArchUnitTestEngine with @AnalyzeClasses and rule fields or methods with @ArchTest. Example:
    
    @AnalyzeClasses(packages = "com.foo")
     class MyArchTest {
        @ArchTest
         public static final ArchRule myRule = classes()...
     }
     
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected com.tngtech.archunit.junit.ArchUnitEngineExecutionContext createExecutionContext​(org.junit.platform.engine.ExecutionRequest request)  
      org.junit.platform.engine.TestDescriptor discover​(org.junit.platform.engine.EngineDiscoveryRequest discoveryRequest, org.junit.platform.engine.UniqueId uniqueId)  
      java.lang.String getId()  
      • Methods inherited from class org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine

        createExecutorService, createThrowableCollectorFactory, execute
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.junit.platform.engine.TestEngine

        getArtifactId, getGroupId, getVersion
    • Constructor Detail

      • ArchUnitTestEngine

        public ArchUnitTestEngine()
    • Method Detail

      • getId

        public java.lang.String getId()
      • discover

        public org.junit.platform.engine.TestDescriptor discover​(org.junit.platform.engine.EngineDiscoveryRequest discoveryRequest,
                                                                 org.junit.platform.engine.UniqueId uniqueId)
      • createExecutionContext

        protected com.tngtech.archunit.junit.ArchUnitEngineExecutionContext createExecutionContext​(org.junit.platform.engine.ExecutionRequest request)
        Specified by:
        createExecutionContext in class org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine<com.tngtech.archunit.junit.ArchUnitEngineExecutionContext>