2
我正嘗試在Espresso上運行一些簡單的活動集成測試,這些活動一旦啓動就會觸發一個加載程序來檢索一些數據。帶碎片的Android咖啡。 getActivity返回NULL
的問題是,當我運行我的測試(例如即使是很簡單的檢查,如果一個按鈕是在主網頁)的結果是連續變化的,而且我不斷收到不同的時間NPE
試圖調用空對象上的虛擬方法 「android.content.Context.getApplicationContext()」 參考
我的活動是空的,並持有的片段,並且誤差可以得到跟蹤回時,啓動加載器,我問的背景
MyLoader loader = new MyLoader(getActivity(), certainUrl);
由此我得到的回報getActivity()
有時null
,然後順着這個線(在Android Loader類,因爲該方法context.getApplicationContext被調用)拋出一個異常
這是我的測試類
public class HomeFragmentTest extends ActivityInstrumentationTestCase2<HomeActivity> {
private HomeActivity _activity;
public HomeFragmentTest() {
super(HomeActivity.class);
}
protected void setUp() throws Exception {
super.setUp();
_activity = getActivity();
injectInstrumentation(getInstrumentation());
}
public void testButton() {
onView(withId(R.id.button))
.check(matches(allOf(
isDisplayed(),
ViewMatchers.isCompletelyDisplayed()
)));
}
}
謝謝大家的幫助