ArchUnitを学ぶ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* リンク [#rf823f25]
** 公式ガイド [#r4df79b9]
https://www.archunit.org/userguide/html/000_Index.html
*** ArchUnitの背後にあるアイデア [#k84e0c33]
https://www.archunit.org/userguide/html/000_Index.html#_i...
** ArchUnitで考えるアーキテクチャ構造とその検証 [#t125f92b]
https://developer.mamezou-tech.com/blogs/2022/05/19/archu...
** サンプル [#la9c5133]
import static com.tngtech.archunit.base.DescribedPredica...
import static
com.tngtech.archunit.core.domain.JavaClass.Predicates.be...
import static com.tngtech.archunit.library.Architectures...
import com.tngtech.archunit.core.importer.ImportOption.D...
import com.tngtech.archunit.junit.AnalyzeClasses;
import com.tngtech.archunit.junit.ArchTest;
import com.tngtech.archunit.lang.ArchRule;
@AnalyzeClasses(packagesOf = MySomeApp.class, importOpti...
DoNotIncludeTests.class)
class TechnicalStructureTest {
// prettier-ignore
@ArchTest
static final ArchRule respectsTechnicalArchitectureL...
layeredArchitecture()
.layer("Config").definedBy("..config..")
.layer("Web").definedBy("..web..")
.optionalLayer("Service").definedBy("..service..")
.layer("Security").definedBy("..security..")
.layer("Persistence").definedBy("..repository..")
.layer("Domain").definedBy("..domain..")
.whereLayer("Config").mayNotBeAccessedByAnyLayer()
.whereLayer("Web").mayOnlyBeAccessedByLayers("Co...
.whereLayer("Service").mayOnlyBeAccessedByLayers...
.whereLayer("Security").mayOnlyBeAccessedByLayer...
.whereLayer("Persistence").mayOnlyBeAccessedByLa...
.whereLayer("Domain").mayOnlyBeAccessedByLayers(...
.ignoreDependency(belongToAnyOf(MySomeApp.class)...
.ignoreDependency(alwaysTrue(), belongToAnyOf(
com.suho.uwmradar.config.Constants.class,
com.suho.uwmradar.config.ApplicationProperti...
));
}
終了行:
* リンク [#rf823f25]
** 公式ガイド [#r4df79b9]
https://www.archunit.org/userguide/html/000_Index.html
*** ArchUnitの背後にあるアイデア [#k84e0c33]
https://www.archunit.org/userguide/html/000_Index.html#_i...
** ArchUnitで考えるアーキテクチャ構造とその検証 [#t125f92b]
https://developer.mamezou-tech.com/blogs/2022/05/19/archu...
** サンプル [#la9c5133]
import static com.tngtech.archunit.base.DescribedPredica...
import static
com.tngtech.archunit.core.domain.JavaClass.Predicates.be...
import static com.tngtech.archunit.library.Architectures...
import com.tngtech.archunit.core.importer.ImportOption.D...
import com.tngtech.archunit.junit.AnalyzeClasses;
import com.tngtech.archunit.junit.ArchTest;
import com.tngtech.archunit.lang.ArchRule;
@AnalyzeClasses(packagesOf = MySomeApp.class, importOpti...
DoNotIncludeTests.class)
class TechnicalStructureTest {
// prettier-ignore
@ArchTest
static final ArchRule respectsTechnicalArchitectureL...
layeredArchitecture()
.layer("Config").definedBy("..config..")
.layer("Web").definedBy("..web..")
.optionalLayer("Service").definedBy("..service..")
.layer("Security").definedBy("..security..")
.layer("Persistence").definedBy("..repository..")
.layer("Domain").definedBy("..domain..")
.whereLayer("Config").mayNotBeAccessedByAnyLayer()
.whereLayer("Web").mayOnlyBeAccessedByLayers("Co...
.whereLayer("Service").mayOnlyBeAccessedByLayers...
.whereLayer("Security").mayOnlyBeAccessedByLayer...
.whereLayer("Persistence").mayOnlyBeAccessedByLa...
.whereLayer("Domain").mayOnlyBeAccessedByLayers(...
.ignoreDependency(belongToAnyOf(MySomeApp.class)...
.ignoreDependency(alwaysTrue(), belongToAnyOf(
com.suho.uwmradar.config.Constants.class,
com.suho.uwmradar.config.ApplicationProperti...
));
}
ページ名: