ボタンがあるとします。ユニットテストマルチスレッド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;
}
}
あなたも行くことができます: