This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
javascript:(function(e,a,g,h,f,c,b,d)%7Bif(!(f=e.jQuery)%7C%7Cg%3Ef.fn.jquery%7C%7Ch(f))%7Bc=a.createElement(%22script%22);c.type=%22text/javascript%22;c.src=%22http://ajax.googleapis.com/ajax/libs/jquery/%22+g+%22/jquery.min.js%22;c.onload=c.onreadystatechange=function()%7Bif(!b&&(!(d=this.readyState)%7C%7Cd==%22loaded%22%7C%7Cd==%22complete%22))%7Bh((f=e.jQuery).noConflict(1),b=1);f(c).remove()%7D%7D;a.documentElement.childNodes%5B0%5D.appendChild(c)%7D%7D)(window,document,%221.3.2%22,function($,L)%7B$('%23header,%20.pagehead,%20.breadcrumb,%20.commit,%20.meta,%20%23footer,%20%23footer-push,%20.wiki-actions,%20%23last-edit,%20.actions,%20.header,.site-footer,.repository-sidebar,.file-navigation,.gh-header-meta,.gh-header-actions,#wiki-rightbar,#wiki-footer').remove();%20$('%23files,%20.file').css(%7B%22background%22:%22none%22,%20%22border%22:%22none%22%7D);%20$('link').removeAttr('media');%7D); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<dependency> | |
<groupId>com.tngtech.archunit</groupId> | |
<artifactId>archunit-junit5</artifactId> | |
<version>0.23.1</version> | |
<scope>test</scope> | |
</dependency> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dependencies { | |
testImplementation 'com.tngtech.archunit:archunit-junit5:0.23.1' | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package de.viadee.architecture.archunit.architecture; | |
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.noClasses; | |
import org.junit.jupiter.api.Test; | |
import com.tngtech.archunit.core.domain.JavaClasses; | |
import com.tngtech.archunit.core.importer.ClassFileImporter; | |
import com.tngtech.archunit.lang.ArchRule; | |
public class SimpleArchitectureTest { | |
@Test |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
java.lang.AssertionError: Architecture Violation [Priority: MEDIUM] - Rule 'no classes that reside in a package '..controller..' should depend on classes that reside in a package '..persistence..', because controllers must use business services instead of the persistence layer' was violated (3 times): | |
Constructor <de.viadee.architecture.archunit.controller.HelloWorldController.<init>(de.viadee.architecture.archunit.service.HelloWorldService, de.viadee.architecture.archunit.persistence.PersistenceManager)> has parameter of type <de.viadee.architecture.archunit.persistence.PersistenceManager> in (HelloWorldController.java:0) | |
Field <de.viadee.architecture.archunit.controller.HelloWorldController.persistenceManager> has type <de.viadee.architecture.archunit.persistence.PersistenceManager> in (HelloWorldController.java:0) | |
Method <de.viadee.architecture.archunit.controller.HelloWorldController.save(java.lang.String)> calls method <de.viadee.architecture.archunit.persistence.PersistenceManager.save(java.lang.O |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package de.viadee.architecture.archunit.architecture; | |
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.noClasses; | |
import com.tngtech.archunit.junit.AnalyzeClasses; | |
import com.tngtech.archunit.junit.ArchTest; | |
import com.tngtech.archunit.lang.ArchRule; | |
@AnalyzeClasses(packages = "de.viadee.architecture.archunit") | |
public class SimpleArchitectureCompactTest { | |
@ArchTest |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package de.viadee.architecture.archunit.architecture; | |
import static com.tngtech.archunit.library.Architectures.layeredArchitecture; | |
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", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ArchTest | |
private static ArchRule no_java_util_date = | |
noClasses() | |
.should().dependOnClassesThat() | |
.haveFullyQualifiedName(java.util.Date.class.getName()) | |
.because("LocalDate statt java.util.Date verwenden"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ArchTest | |
private static ArchRule controllers_should_be_suffixed = | |
classes() | |
.that().areAnnotatedWith(RestController.class) | |
.should().haveSimpleNameEndingWith("Controller") | |
.and().resideInAPackage("..controller..") | |
.because("Erkennbarkeit Controller Hauptklasse"); |
OlderNewer