우찬쓰 개발블로그

테스트 코드, ViewModel.launch 의 delay 이슈 본문

안드로이드/안드로이드 개발

테스트 코드, ViewModel.launch 의 delay 이슈

이우찬 2023. 6. 1. 12:01
반응형

ViewModel의 테스트 코드를 짜다가 ViewModel.launch에 delay가 있을경우, 시간차 문제로 테스트 코드가 도달하지 못하는 문제를 마주했다.

 

advanceUntilIdle() 를 사용하면 해결될줄 알았건만 애석하게도 테스트코드는 계속 delay()의 다음으로 도달하지 못했다.

 

곰곰히 생각해보니 결국 Coroutine의 Context 와 관련된 문제일것 같아서 내 코드를 훑어보니, 아무생각없이 @Before에 넣어둔 아래 코드가 문제였다.

Dispatchers.setMain(Dispatchers.Unconfined)

 

StandardTestDispatcher() 로 교체

 

Dispatchers.setMain(StandardTestDispatcher())

 

 

이후 advanceUntilIdle() 가 정상 동작하는 것을 확인 완료.

 

반응형
Comments