Android:如何在使用ActivityInstrumentationTestCase2进行测试时获取Context?

时间:2011-05-15 21:44:09

标签: android unit-testing

我正在Android中运行一个junit测试,它扩展了ActivityInstrumentationTestCase2。我正在使用它来启动一项活动。

活动使用应用程序对象的子类来获取一些参数。我从上下文中获取应用程序对象。

不幸的是,ActivityInstrumentationTestCase2不提供对上下文的访问。有没有办法在获取活动之前访问上下文

3 个答案:

答案 0 :(得分:12)

您可以从检测对象获取应用程序上下文:

getInstrumentation().getTargetContext().getApplicationContext()

答案 1 :(得分:3)

为了能够使用setApplication()注入应用程序,您应该使用ActivityUnitTestCase,因为它仅在此测试用例类中可用。

默认情况下,ActivityUnitTestCase会创建一个隐藏的MockApplication对象,用作被测试的应用程序。

答案 2 :(得分:0)

对于那些使用

的人
AndroidTestCase

并且需要app应用程序子类:

MyApplication context = (MyApplication) getContext().getApplicationContext();