テスト スイートのテスト ケースの 1 つに問題があります。私がやろうとしているのは、単にボタンをクリックして、新しいアクティビティが起動するのを待つことです。
ActivityMonitor monitor = getInstrumentation().addMonitor(MyActivity.class.getName(), null, false);
TouchUtils.clickView(this, searchButton);
Activity a = getInstrumentation().waitForMonitorWithTimeout(monitor, 60);
assertNotNull("The MyActivity is null.", a);
ドキュメントによると、このコードは、モニターがヒットするまで最大 60 秒待機する必要があります。ヒットすると、アクティビティが返されます (それ以外の場合は null)。
何が起こるかというと、ときどきテストに合格することもありますが、ほとんどの場合、a == null
. 実行中のテスト ケースを監視していますが、60 秒間待機していないことがはっきりとわかります。少ししか。いくつかの印刷物で、モニターが実際にヒットすることにも気付きましたが、によって返されるアクティビティgetLastActivity()
はまだnull
です。
1)これはどのように可能ですか?
2) それを避けるために私にできることはありますか?