Skip to content

Conversation

@MoonsuKang
Copy link
Member

Related issue 🛠

closed #224

어떤 변경사항이 있었나요?

  • 🐞 BugFix Something isn't working
  • 🎨 Design Markup & styling
  • 📃 Docs Documentation writing and editing (README.md, etc.)
  • ✨ Feature Feature
  • 🔨 Refactor Code refactoring
  • ⚙️ Setting Development environment setup
  • ✅ Test Test related (Junit, etc.)

CheckPoint ✅

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • PR 컨벤션에 맞게 작성했습니다. (필수)
  • merge할 브랜치의 위치를 확인해 주세요(main❌/develop⭕) (필수)
  • Approve된 PR은 assigner가 머지하고, 수정 요청이 온 경우 수정 후 다시 push를 합니다. (필수)
  • BugFix의 경우, 버그의 원인을 파악하였습니다. (선택)

Work Description ✏️

  • JUnit 및 Compose UI 테스트 환경 설정을 build-logic에 모듈화하여 적용
  • configureTestAndroid, configureTestKotlin 함수로 단위 테스트 및 UI 테스트 종속성 정리
  • Jacoco를 활용한 테스트 커버리지 측정 기능 추가
  • configureTestCoverage 함수 정의 및 .exec 파일 유무에 따른 coverage report 생성 조건 처리
  • feature 모듈 기준으로 UI 테스트 의존성 자동 적용

Uncompleted Tasks 😅

  • Task1

To Reviewers 📢

멀티모듈에서 테스트 환경 처음 적용해봤는데 이런 트러블슈팅이 있어서 공유합니다!

  1. 처음에 TestAndroid.ktconfigureTestAndroid를 모든 모듈에 일괄 적용했더니 빌드가 실패하는 문제가 발생했습니다...
    원인을 찾아보니, androidTestImplementation에 추가한 Compose UI 테스트 관련 의존성들이 Manifest 또는 android {} 블록이 없는 모듈에서는 정상적으로 처리되지 않아 Missing AndroidManifest.xml 에러가 발생했습니다.
    그래서 if (path.startsWith(":feature:")) 조건을 추가해서 피쳐 모듈에만 적용되도록 했습니다!

  2. 커버리지 리포트 생성 시 .exec 파일이 존재하지 않아 createDebugUnitTestCoverageReport Task가 실패하는 문제가 있었습니다.
    .exec 파일은 실제로 테스트가 실행되어야 생성되는데 그동안 모듈 만들때 test모듈을 다 지워서 실패하는거 있죠..
    그래서 TaskonlyIf { file.exists() } 조건을 걸어 테스트가 수행되지 않았을 경우 자동으로 스킵되도록 처리했습니다.

아 그리고 Codecov를 사용하고 싶었는데 권한이 없어서 나중에 코드래빗 권한 받을 때 같이 받아야될듯 ㅠ

@github-actions
Copy link

🚀 테스트 완료 및 커버리지 리포트가 생성되었습니다.

➡️ 클릭하여 커버리지 리포트 보기

리포트 위치: data/build/reports/coverage/test/debug/index.html

@github-actions
Copy link

🚀 테스트 완료 및 커버리지 리포트가 생성되었습니다.

➡️ 클릭하여 커버리지 리포트 다운로드

Copy link
Member

@DongChyeon DongChyeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고수고하셨습니다

@MoonsuKang MoonsuKang merged commit 2e63d35 into develop Jun 25, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 테스트코드 의존성 추가하기

3 participants