스팀 앱 개발기 #154 - 개발 완료: 테스트 코드 개선

개발 완료: 테스트 코드 개선

No. 154
2026. 05. 17 (일) | Written by @dorian-mobileapp

이번 리팩토링은 테스트 코드 개선입니다. 개인 프로젝트를 수행하면서 가능한 유닛 테스트 코드도 작성하고자 노력했습니다. 지금까지 제가 해온게 올바른지 궁금했고, 클로드에게 검토를 요청했습니다. 그 결과로 수정한 내용은 아래와 같습니다. 다행히 큰 문제가 있지는 않았던 거 같습니다.

이제는 AI에게 테스트 코드를 만들어 달라는 요청도 가능하죠. 다음 기능 개발부터는 이것도 같이 해볼까 합니다.


테스트 코드 개선 작업 요약

문제 1 — 미사용 중복 파일 삭제

  • ui/wallet/CommonPartOfViewModelTest.kt 삭제

문제 2 — TagsViewModelTest 패키지/위치/import 수정

  • ui/wallet/TagsViewModelTest.ktui/tags/TagsViewModelTest.kt로 이동
  • package lee.dorian.steem_ui.ui.walletpackage lee.dorian.steem_ui.ui.tags
  • 미사용 import 삭제: import lee.dorian.steem_ui.R, import org.junit.Assert.assertEquals

문제 3 — runTest + Thread.sleeprunBlocking + delay 교체

파일변경
WalletViewModelTestThread.sleeprunBlocking + delay
TagsViewModelTestrunTest + Thread.sleeprunBlocking + delay
ProfileViewModelTestrunTest + Thread.sleeprunBlocking + delay
PostContentViewModelTestrunTest + Thread.sleeprunBlocking + delay
AccountDetailsViewModelTestrunTest + Thread.sleeprunBlocking + delay
AccountHistoryViewModelTestrunTest + Thread.sleeprunBlocking + delay
PostListViewModelTestrunTest + Thread.sleeprunBlocking + 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을 참고하세요.


지난 스팀 앱 개발기


Layout provided by Steemit Enhancer hommage by ayogom

Posted using SteemX

Sort:  

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

banner.jpg