各テスト実行後、junit は次のテストに進みます。また、アクティビティは各テストの実行後に自動的に閉じます。
関数をテストするときは問題ありませんが、ビューをテストするときは問題ありません。junit が次のテストを実行する前に、実行結果を画面に表示したいと考えています。
だから、私はテストの間に小さな遅延を作りたい.
私がそれを行うことができる1つの方法があります:
public void testMyView() throws InterruptedException {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
// viewOperations...
}
});
Thread.sleep(3000);
}
しかし、このコードは汚れているため、この方法は好きではありません (特に、このようなテストがたくさんある場合)。
別の方法ははるかに優れているようです:
@UiThreadTest
public void testHandleEmptyAlphabetList() throws InterruptedException {
// view operations
Thread.sleep(3000);
}
BUT: UI スレッドはブロックされますが、テスト スレッドはブロックされません。テスト スレッドをブロックする必要があります。
Thread.sleep(3000);
テストスレッドでこのコードから個別に実行する方法はありますか?
では、テスト間でスレッドを遅延させる最良の方法は何でしょうか?
ps追加のテストフレームワークをお勧めしないでください。埋め込みツールを使用して問題を解決したいのです。ありがとうございました。