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()
)));
}
}
谢谢大家的帮助