Android测试SharedReferences在一个设备/操作系统版本上失败
我有一个活动的ActivityInstrumentationTestCase2 在onStop()方法中,我测试通过BACK键退出活动时是否保存对设置的更改 在测试中,我启动活动,修改设置,然后使用finish()停止活动。 我等待活动结束,然后检查SharedReferences中保存的设置 在装有安卓4.3的Nexus7中,该测试从未失败过 在装有安卓4.1.2的三星S3中,它总是失败 我尝试过使用不同的上下文,并且在SharedReferences.Editor中使用了commit()而不是apply(),在行为上没有任何区别Android测试SharedReferences在一个设备/操作系统版本上失败,android,testing,Android,Testing,我有一个活动的ActivityInstrumentationTestCase2 在onStop()方法中,我测试通过BACK键退出活动时是否保存对设置的更改 在测试中,我启动活动,修改设置,然后使用finish()停止活动。 我等待活动结束,然后检查SharedReferences中保存的设置 在装有安卓4.3的Nexus7中,该测试从未失败过 在装有安卓4.1.2的三星S3中,它总是失败 我尝试过使用不同的上下文,并且在SharedReferences.Editor中使用了commit()而不
有什么想法吗?不要以以下方式结束活动: activity.finish() 您应该以以下内容结束: getInstrumentation().callActivityOnStop(活动) 我想可能有更好的方法来结束活动并等待它退出,就好像按下了后退键并调用了onStop()
这一“修复”已经修复了失败的案例,但也导致了其他案例的失败。 只有当我使用activity.finish()时,它们似乎才起作用