티스토리 뷰

 

안녕하세요 Hani입니다.

RxTest의 TestTime, Recorded, TestScheduler를 알아볼 거예욥.

 

 


RxTest

TestTime.

이벤트를 방출할 시간을 의미합니다.

 

 

 

Recorded

Recorded.

TestTime에 어떤 이벤트를 방출할 것인지를 의미합니다.

Value는 next, error등의 Event<T>가 됩니다.

 

 

 

 

디버깅을 위해 Recorded를 찍어보거나

발생한 Recorded가 예상한 Recorded가 맞는지 비교할 수 있습니다.

 

 

 

 

next, completed, error를 통해 방출할 이벤트를 배열에 담아둘 수 있습니다.

(Recorded 배열은 다음 포스팅에서 등장할 Observable의 생성인자가 됩니다.)

 

 

 

 

 

TestScheduler.

Recorded가 발생하는 가상의 시간입니다.

 

 

 

 

이해를 돕기위한 marble

TestTime, Recorded, TestScheduler를 알아봤는데 이를 marble 관점에서 보면

TestScheduler는 시간축,

TestTime은 시간축 상에서 이벤트가 어느 시점에 발생하는지,

Recorded는 시간축 상에서 TestTime에 발생하는 이벤트

라고 할 수 있습니다.

 

 

 


References

https://rxmarbles.com/

https://github.com/ReactiveX/RxSwift/tree/main/RxTest

댓글