버튼이 있다고 가정합니다.단위 테스트 다중 스레드 Android RxJava
버튼을 클릭하면 사용 불가는 (mainThread 스레드), 데이터를로드 할 수있는 백그라운드 작업 (IO 스레드)를 시작합니다. 데이터가로드되면 버튼이 다시 활성화됩니다 (mainThread 스레드). 시험에 대한
, 즉시에 스케줄러를 변경하는 것이 일반적이지만이 내 경우에는 작동하지 않습니다 - 버튼이 비활성화 인 경우 버튼 클릭이 백그라운드 작업이 완료 될 때까지 차단합니다, 나는 검사 할 수 없을거야 그것이 백그라운드 작업을 시작한 후.
단위 테스트 외에도 기능성 에스프레소 테스트에서 이것을 테스트하고 싶습니다.
이 멀티 스레드 RxJava 케이스를 테스트하려면 어떻게해야합니까?
class CustomThreadFactory implements ThreadFactory {
public Thread lastT;
public int newThreadCounter = 0;
@Override
public Thread newThread(Runnable r) {
newThreadCounter++;
System.out.println("newThread called");
Thread lastT = new Thread(r); //or CustomThread(r)
return lastT;
}
}
당신도 갈 수 있습니다 :