Mockist 접근방법: 모든 레이어에 모킹 여기서 mock은 fake, stub, mock을 포함한 모든 종류의 테스트 대역을 의미한다는 점을 참고하세요.아래 예제를 살펴보겠습니다. 클래스A가 클래스B, 클래스C에 의존한다고 가정해보겠습니다. 이떄 클래스 A를 테스트할 때 클래스B와 클래스C를 모킹하여 검증합니다. 그러나 클래스 C를 클래스B의 하위로 이동하도록 리팩토링하면 설계가 더 단순해진다는 걸 깨닫겠습니다. 그 결과 클래스 A의 외부 동작은 변하지 않았음에도 불구하고 테스트가 깨지게됩니다. 동일하게 우리의 챗 어플리케이선 예제에 적용해보겠습니다.각 계층에 모킹하기로 결정하면, ViewModel 테스트에서도 모든 의존성을 모킹해야합니다. private fun mockUseCases() { ..