스팀 앱 개발기 #154 - 개발 완료: 테스트 코드 개선
개발 완료: 테스트 코드 개선
No. 154
2026. 05. 17 (일) | Written by @dorian-mobileapp
이번 리팩토링은 테스트 코드 개선입니다. 개인 프로젝트를 수행하면서 가능한 유닛 테스트 코드도 작성하고자 노력했습니다. 지금까지 제가 해온게 올바른지 궁금했고, 클로드에게 검토를 요청했습니다. 그 결과로 수정한 내용은 아래와 같습니다. 다행히 큰 문제가 있지는 않았던 거 같습니다.
이제는 AI에게 테스트 코드를 만들어 달라는 요청도 가능하죠. 다음 기능 개발부터는 이것도 같이 해볼까 합니다.
테스트 코드 개선 작업 요약
문제 1 — 미사용 중복 파일 삭제
ui/wallet/CommonPartOfViewModelTest.kt삭제
문제 2 — TagsViewModelTest 패키지/위치/import 수정
ui/wallet/TagsViewModelTest.kt→ui/tags/TagsViewModelTest.kt로 이동package lee.dorian.steem_ui.ui.wallet→package lee.dorian.steem_ui.ui.tags- 미사용 import 삭제:
import lee.dorian.steem_ui.R,import org.junit.Assert.assertEquals
문제 3 — runTest + Thread.sleep → runBlocking + delay 교체
| 파일 | 변경 |
|---|---|
WalletViewModelTest | Thread.sleep → runBlocking + delay |
TagsViewModelTest | runTest + Thread.sleep → runBlocking + delay |
ProfileViewModelTest | runTest + Thread.sleep → runBlocking + delay |
PostContentViewModelTest | runTest + Thread.sleep → runBlocking + delay |
AccountDetailsViewModelTest | runTest + Thread.sleep → runBlocking + delay |
AccountHistoryViewModelTest | runTest + Thread.sleep → runBlocking + delay |
PostListViewModelTest | runTest + Thread.sleep → runBlocking + delay |
문제 4 — Assert.fail() 패턴 개선
AccountHistoryViewModelTest,PostListViewModelTest에서:// before if (state !is State.Success) { Assert.fail() } else { assertEquals(...) } // after assertTrue("Expected Success but was $state", state is State.Success) assertEquals((state as State.Success).data..., ...)
GitHub Commit
보다 자세한 코드는 아래 commit을 참고하세요.
지난 스팀 앱 개발기
- #153 - 개발 완료: Architecture 개선 작업
- #152 - 개발 완료: 레거시 의존성 제거 작업 요약
- #151 - 개발 완료: Compose 마이그레이션 연장선
- #1 ~ #150
Layout provided by Steemit Enhancer hommage by ayogom
Upvoted! Thank you for supporting witness @jswit.
🎉 Congratulations!
Your post has been upvoted by the SteemX Team! 🚀
SteemX is a modern, user-friendly and powerful platform built for the Steem community.
🔗 Visit us: www.steemx.org
✅ Support our work — Vote for our witness: bountyking5