ArchUnitを学ぶ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
Markdown
]
開始行:
<!-- markdown -->
# リンク
## 公式ガイド
https://www.archunit.org/userguide/html/000_Index.html
### ArchUnitの背後にあるアイデア
https://www.archunit.org/userguide/html/000_Index.html#_i...
## ArchUnitで考えるアーキテクチャ構造とその検証
https://developer.mamezou-tech.com/blogs/2022/05/19/archu...
## サンプル
import static com.tngtech.archunit.base.DescribedPred...
import static
com.tngtech.archunit.core.domain.JavaClass.Predicates...
import static com.tngtech.archunit.library.Architectu...
import com.tngtech.archunit.core.importer.ImportOptio...
import com.tngtech.archunit.junit.AnalyzeClasses;
import com.tngtech.archunit.junit.ArchTest;
import com.tngtech.archunit.lang.ArchRule;
@AnalyzeClasses(packagesOf = MySomeApp.class, importO...
DoNotIncludeTests.class)
class TechnicalStructureTest {
// prettier-ignore
@ArchTest
static final ArchRule respectsTechnicalArchitectu...
layeredArchitecture()
.layer("Config").definedBy("..config..")
.layer("Web").definedBy("..web..")
.optionalLayer("Service").definedBy("..servic...
.layer("Security").definedBy("..security..")
.layer("Persistence").definedBy("..repository...
.layer("Domain").definedBy("..domain..")
.whereLayer("Config").mayNotBeAccessedByAnyLa...
.whereLayer("Web").mayOnlyBeAccessedByLayers(...
.whereLayer("Service").mayOnlyBeAccessedByLay...
.whereLayer("Security").mayOnlyBeAccessedByLa...
.whereLayer("Persistence").mayOnlyBeAccessedB...
.whereLayer("Domain").mayOnlyBeAccessedByLaye...
.ignoreDependency(belongToAnyOf(MySomeApp.cla...
.ignoreDependency(alwaysTrue(), belongToAnyOf(
com.suho.uwmradar.config.Constants.class,
com.suho.uwmradar.config.ApplicationPrope...
));
}
終了行:
<!-- markdown -->
# リンク
## 公式ガイド
https://www.archunit.org/userguide/html/000_Index.html
### ArchUnitの背後にあるアイデア
https://www.archunit.org/userguide/html/000_Index.html#_i...
## ArchUnitで考えるアーキテクチャ構造とその検証
https://developer.mamezou-tech.com/blogs/2022/05/19/archu...
## サンプル
import static com.tngtech.archunit.base.DescribedPred...
import static
com.tngtech.archunit.core.domain.JavaClass.Predicates...
import static com.tngtech.archunit.library.Architectu...
import com.tngtech.archunit.core.importer.ImportOptio...
import com.tngtech.archunit.junit.AnalyzeClasses;
import com.tngtech.archunit.junit.ArchTest;
import com.tngtech.archunit.lang.ArchRule;
@AnalyzeClasses(packagesOf = MySomeApp.class, importO...
DoNotIncludeTests.class)
class TechnicalStructureTest {
// prettier-ignore
@ArchTest
static final ArchRule respectsTechnicalArchitectu...
layeredArchitecture()
.layer("Config").definedBy("..config..")
.layer("Web").definedBy("..web..")
.optionalLayer("Service").definedBy("..servic...
.layer("Security").definedBy("..security..")
.layer("Persistence").definedBy("..repository...
.layer("Domain").definedBy("..domain..")
.whereLayer("Config").mayNotBeAccessedByAnyLa...
.whereLayer("Web").mayOnlyBeAccessedByLayers(...
.whereLayer("Service").mayOnlyBeAccessedByLay...
.whereLayer("Security").mayOnlyBeAccessedByLa...
.whereLayer("Persistence").mayOnlyBeAccessedB...
.whereLayer("Domain").mayOnlyBeAccessedByLaye...
.ignoreDependency(belongToAnyOf(MySomeApp.cla...
.ignoreDependency(alwaysTrue(), belongToAnyOf(
com.suho.uwmradar.config.Constants.class,
com.suho.uwmradar.config.ApplicationPrope...
));
}
ページ名: