Skip to content

test: Konsist 도입 — domain 레이어 의존 방향 아키텍처 테스트 (closes 385)#388

Open
1hyok wants to merge 1 commit into
developfrom
feat/385
Open

test: Konsist 도입 — domain 레이어 의존 방향 아키텍처 테스트 (closes 385)#388
1hyok wants to merge 1 commit into
developfrom
feat/385

Conversation

@1hyok

@1hyok 1hyok commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

📌𝘐𝘴𝘴𝘶𝘦𝘴

closed test: Konsist 도입 — domain 레이어 의존 방향(의존 역전) 아키텍처 테스트 추가 #385

📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯

  • :konsist 순수 JVM 모듈(java-library + kotlin.jvm) 신설 — Konsist.scopeFromProject() 로 소스 import 를 스캔 (ad5af26)
  • LayerDependencyKonsistTest: domain 패키지(com.afternote..domain..) 파일이 ① data/presentation 레이어 ② core:model 외 코어(network/ui/common 등)에 역의존하지 않음을 정규식 2종으로 강제
  • 허용: core:model, 같은 domain 레이어(cross-domain 포함)
  • settings.gradle.kts include + libs.versions.toml konsist 0.17.3 + CI unit-test.yml:konsist:test 및 리포트 artifact 경로 추가

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

UI 변경 없음 — 아키텍처 테스트 모듈 추가.

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴

  • 현재 코드베이스 위반 0건 — 신규 위반을 막는 회귀 가드 목적
  • 빌드 그래프(Gradle 사이클 탐지)가 아니라 소스 import 를 스캔하므로 domain → core:network 같은 위반까지 탐지
  • 빌드 검증: ./gradlew :konsist:test --rerun-tasks BUILD SUCCESSFUL (위반 0건). 순수 JVM 모듈이라 compileDebugKotlin 대신 test task
  • CI: unit-test.ymltestDebugUnitTest:konsist:test 병행 (순수 JVM 이라 testDebugUnitTest 미보유)

- 아키텍처 가드 라이브러리 `Konsist` 도입 및 검증 전용 `:konsist` 모듈 추가
- `LayerDependencyKonsistTest` 구현: domain 레이어가 data/presentation 레이어 및 `core:model` 이외의 코어 모듈(network, ui 등)을 참조하지 않도록 의존성 방향 제한
- GitHub Actions 워크플로우(`unit-test.yml`)에 `:konsist:test` 태스크를 추가하여 CI 단계에서 아키텍처 규칙 자동 검증
- 테스트 결과 리포트 보관 경로에 `:konsist` 모듈의 테스트 결과 추가
- `settings.gradle.kts` 및 `libs.versions.toml`에 신규 모듈 및 라이브러리 정의 반영
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test: Konsist 도입 — domain 레이어 의존 방향(의존 역전) 아키텍처 테스트 추가

1 participant