拉风的咖菲猫
对于AndroidTestCase,虽然它提供了getContext()方法获取Context对象,但就一个新的默认的AndroidTestCase类实例,它的成员变量mContext是没有被初始化赋值的,所以getContext()取出的Context对象是null,AndroidTestCase提供setContext(Context context)方法来给mContext赋值,以上,可以看AndroidTestCase类的源码来分析。对于一般的AndroidTestCase可能不好setContext,可以考虑另一种方式获取Context,反射调用ServiceTestCase进行类型转换得到。public class MyTest extends AndroidTestCase { private Context getTestContext() { try { Method getTestContext = ServiceTestCase.class.getMethod("getTestContext"); return (Context) getTestContext.invoke(this); } catch (Exception e) { e.printStackTrace(); return null; } }}