[Java/Android] RxJava Observable Unit Test 시 setup 처리하기


[Java/Android] RxJava Observable Unit Test 시 setup 처리하기

RxJava Observable Unit test 시 setup 처리하기Scheduler가 설정된 Observable을 subscribe하는 로직은 논블로킹으로 진행되기 때문에 테스트 코드 작성시에 타이밍 이슈가 생기게 된다. 결론부터 말하자면 테스트코드 수행시에는 설정되어있는 Scheduler를 즉시 수행하는 Scheduler인 Schedulers.immediate()로 바꿔치기 해줘야 한다. 여기서 주의해야 할 점은 위 치환 작업은 반드시 setUp의 상단에서 이루어져야 한다는 것이다. 사실 Roboletric 사용 시, activity나 fragment를 start 시키기 전에만 실행되면 되지만, 아예 setUp의 최상단으로 올려두는 것이 여러명과 협업할때에는 더 좋은 것 같다는 것이 내 의견이다. (RxJava를 잘 모..........



원문링크 : [Java/Android] RxJava Observable Unit Test 시 setup 처리하기