Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ActivityUnitTestCase和PreferenceManager对Android进行单元测试_Android_Unit Testing_Sharedpreferences - Fatal编程技术网

使用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()