【发布时间】:2010-12-15 04:40:17
【问题描述】:
我正在使用 InstrumentationTestCase 类来对活动中的某些内容进行单元测试。
在启动此活动之前,我需要能够检查 SharedPreferences 的内容并对其进行编辑。
我不能使用 setUp 方法创建 Activity 并访问它的 SharedPreferences 对象来编辑它,然后在完成 setUp 方法之前关闭该 Activity,因为它显然正在锁定测试处理。
在测试中启动 Activity 后,我也无法访问 SharedPreferences,因为一旦启动 Activity,它就已经更改了 SharedPreferences 对象并根据它采取行动,在我有机会获得它的引用之前。
我之前显然也无法访问 SharedPreferences,因为我没有 Activity 对象...一旦我这样做,它就已经在执行代码并正在启动...
所以,我的问题是,在我通过 Intent 实际创建 Activity 之前,有什么方法可以访问该 Activity 的 SharedPreferences(和任何其他 Activity 信息)?
我无法将其更改为 ActivityInstrumentationTestCase2,因为我的测试在其进程中使用了第二个活动,因此我不能仅更改为此类并使用它的 setUp() 方法来访问 SharedPreferences。
【问题讨论】: