kotlin/Test
-
Flow의 UnitTest를 손쉽게 만드는 방법kotlin/Test 2025. 10. 28. 00:20
OKRObjectiveKotlin의 Flow/StateFlow를 app.cash.turbine으로 안정적으로 테스트하고, Android 프로젝트에서 재사용 가능한 테스트 패턴을 확립한다.Key ResultsTurbine의 기본 개념과 장점을 이해한다.Flow/StateFlow 테스트를 위한 핵심 API와 패턴을 습득한다.runTest·가상 시간·advanceUntilIdle와 함께 Turbine을 올바르게 사용한다.실제 Android 코드(예: ViewModel 상태 스트림)를 검증하는 테스트 템플릿을 확보한다.1) Turbine 개요Turbine은 Kotlin Flow를 테스트하기 위한 경량 라이브러리다.test { ... } 블록에서 스트림을 수집하고, awaitItem() 같은 API로 방출 값을 ..
-
Mockito를 활용한 모의 객체 설정: thenReturn vs doReturnkotlin/Test 2024. 12. 2. 23:31
thenReturn사용법:when(mock.method()).thenReturn(value)용도:주로 open 메서드나 인터페이스의 메서드를 모의할 때 사용합니다.특징:메서드 호출이 실제로 발생해야 하며, null이 아닌 값을 반환해야 합니다.동작 방식:Mockito가 바이트코드를 조작하여 메서드 호출을 가로채는 방식으로 동작합니다.그렇기 때문에 메서드 호출이 실제로 발생해야 하며, final, private, static 메서드에는 사용할 수 없습니다.제약:final, private, static 메서드에는 사용할 수 없습니다.장점:when-thenReturn로 가독성과 명확한 의도를 보여줄 수 있고, 디버깅 정보가 명확하다.가독성: 코드가 직관적이고 읽기 쉽습니다.일관성: 일반적인 Mockito 사용..