使用ActivityUnitTestCase和PreferenceManager对Android进行单元测试

时间:2013-02-08 19:09:14

标签: android unit-testing sharedpreferences

我有Activity我是单元测试。我想单独测试Activity,因此ActivityUnitTestCase非常符合我的目的。

onCreate Activity方法使用存储在首选项中的值。我想在我的测试用例中为此设置一个值。

问题在于我无法弄清楚如何提前设置PreferencegetContext()中没有ActivityUnitTestCase方法,getActivity()应返回context,在我调用startActivity()之前为空。这不是一个选项,因为调用startActivity会触发onCreate方法,这就是首选项代码所在的位置。

关于如何获得context我可以用来操纵我的单元测试偏好的任何想法?

1 个答案:

答案 0 :(得分:9)

您可以通过仪器获取上下文。

获取检测的上下文(测试运行器):

getInstrumentation().getContext()

但您可能需要已检测应用程序的上下文:

getInstrumentation().getTargetContext()