Captured from a real `mvn test` run against the module as committed: three ArchUnit rules (layered architecture, no field injection, no package cycles), all passing, no Spring context started anywhere in the run. [INFO] Running com.ankurm.tutorials.junit.archunit.LayeredArchitectureTest [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.311 s -- in com.ankurm.tutorials.junit.archunit.LayeredArchitectureTest [INFO] Results: [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 [INFO] BUILD SUCCESS [INFO] Total time: 3.618 s The whole suite -- three architecture rules checked across every compiled class in the module -- finishes in about 1.3 seconds. There is no "Started Application in N seconds" line anywhere in this output, because there is no Application to start: @AnalyzeClasses reads .class files from disk, the same way a decompiler would, and none of these three rules need a single bean to exist at runtime to be checked.