2015-05-30 39 views
4

我想就上週我無法實現的事情尋求幫助。當我發現一個嚴重的問題時,我正在實施一些Espresso測試。Android:如何使用IdlingResource等待後臺任務(Espresso)

有時我的測試成功,但並非總是如此。問題是我的應用程序有幾個異步任務,在檢查測試條件之前我必須等待。通常,Espresso只等待主線程任務。

我使用Executors生成新線程,這樣的事情:

executor = Executors.newFixedThreadPool(MAX_THREADS); 

,並檢查它是否空閒,我使用這個:

boolean isItIdle = executor.isTerminated() || executor.isShutdown(); 

顯然,這個解決方案沒有按沒有工作。 任何幫助將不勝感激,謝謝你提前。

回答

0

我忘了用我已經實施的解決方案更新這篇文章。 。

executor.shutdown(); 
boolean isItIdle = executor.isTerminated(); 

調用executor.shutdown()成爲可能::(

我的解決辦法是調用執行關機,每次我需要知道什麼時候執行官進入怠速狀態所以,我以這種方式改變了我的檢查方法executor.isTerminated()方法很有用,但是,需要注意的是,當我們需要生成新的線程時,我們必須考慮關閉狀態(executor.isShutdown())

我希望這可以幫助別人!)