1
我有一個Activity
,應該啓動AsyncTask
,我想使用Robolectric 3.0測試此行爲。測試使用Robolectric啓動AsyncTask
到目前爲止,我這樣做是這樣,但我真的不喜歡它:
@Test
public void testAsyncTaskIsStarted() {
activity = Robolectric.setupActivity(MyActivity.class);
Assert.assertTrue(ShadowApplication.getInstance().getBackgroundThreadScheduler().areAnyRunnable());
}
有沒有更好的方式來做到這一點?
感謝您的幫助。
至於我更好的測試將是運行這個後臺任務,並檢查發生的事 –
是的,但單元測試的重點是單獨測試組件。這種方式我不依賴於任務行爲,特別是如果我的AsyncTask正在執行http請求或其他操作,我必須模擬。 –
對不起,我不明白你對任務結果不感興趣,但只對一些抽象代碼會在另一個線程中運行感興趣。更明確的是它將在'AsyncTask'上運行。我會建議尋找另一種注射方式(匕首2是我的選擇) –