使用ActivityUnitTestCase和PreferenceManager对Android进行单元测试
我有一个使用ActivityUnitTestCase和PreferenceManager对Android进行单元测试,android,unit-testing,sharedpreferences,Android,Unit Testing,Sharedpreferences,我有一个活动我正在进行单元测试。我想单独测试活动,因此非常适合我的目的 我的活动的onCreate方法使用存储在首选项中的值。我想在我的测试用例中为此设置一个值 问题是我不知道如何提前设置首选项。ActivityUnitTestCase中没有getContext()方法,并且在调用startActivity()之前,getActivity()应返回上下文的方法为空。这不是一个选项,因为调用startActivity将触发onCreate方法,这就是首选项代码所在的位置 关于如何获得一个上下文,用
活动
我正在进行单元测试。我想单独测试活动
,因此非常适合我的目的
我的活动的onCreate
方法使用存储在首选项中的值。我想在我的测试用例中为此设置一个值
问题是我不知道如何提前设置首选项。ActivityUnitTestCase
中没有getContext()
方法,并且在调用startActivity()
之前,getActivity()
应返回上下文的方法为空。这不是一个选项,因为调用startActivity
将触发onCreate
方法,这就是首选项代码所在的位置
关于如何获得一个上下文
,用于操作单元测试的首选项,有什么想法吗 您可以通过检测获取上下文
要获取检测(测试运行程序)的上下文,请执行以下操作:
但您可能需要插入指令的应用程序的上下文:
getInstrumentation().getTargetContext()
您好,但是在我的例子中,getInstrumentation()
返回null。我正在扩展ActivityUnitTestCase
。有什么想法吗?
getInstrumentation().getTargetContext()