[10분 테코톡] 동전의 ViewModel 테스트 전략
- ViewModel 테스트는 UI 상태와 이벤트의 정확성을 검증하는 데 중요 🧪
- UI 상태(UiState)는 화면에 표시되는 데이터의 상태를 나타내며, 특정 액션 후 예상대로 변경되는지 테스트해야 함 🖼️
- UI 이벤트(UiEvent)는 화면 이동이나 토스트 메시지 같은 일회성 이벤트로, 정확히 발생하는지 테스트해야 함 ✉️
- CoroutinesTestExtension을 사용하여 Main 디스패처를 대체, 안전한 테스트 환경을 구축해야 함 ⚙️
- 성공 및 실패 시나리오 중심으로 테스트 구조를 구성하여 효율성을 높일 수 있음 ✅
- 테스트는 UI 테스트보다 쉽고 빠르며, 외부 의존성을 격리하여 독립적인 검증이 가능함 🚀
- 댓글 목록을 가져오거나 저장하는 등의 예시를 통해 UiState와 UiEvent 테스트 방법을 설명 💬
- 로딩 상태 표시, 성공/실패 케이스에 대한 테스트 코드 예시를 제공 💡
- @Nested를 활용하여 테스트 구조를 체계적으로 구성하는 것이 좋음 🗂️
- Android 공식 문서를 참고하여 테스트 전략을 수립하는 것이 중요 📚