当前位置: 首页 > 知识库问答 >
问题:

如何测试共享偏好

司空温书
2023-03-14

当单元测试共享首选项时,值是否为get refresh every test?

public static void putString(Context context, String key, String val) {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putString(key, val);
        editor.apply();
    }

共有2个答案

宫亦
2023-03-14

只有清除编辑器,共享首选项才会被清除。确保再次测试屏幕时,未清除编辑器。只有这样,偏好才会被清除。

要访问shared.xml文件夹,您可以点击以下链接

如何使用Android Studio查看共享偏好文件?

夹谷苗宣
2023-03-14

运行函数后,它将在键下保存val,该键将为每个其他实例保存。如果您想绝对确定这一点,可以使用另一个函数(可能是另一个实例)使用PreferenceManager读取该值。getDefaultSharedReferences(context.getString(key,“default”))

或者,像许多人所说的那样,您可以手动检查位于您正在测试的设备上的应用数据文件夹内的/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PACKAGE_NAME_preferences.xml文件中的默认Shared首选项文件。

 类似资料:
  • 我有一个这样的旋转器: 当用户点击时,我希望它保存状态: 它将位置保存在SharedPref中,但微调器将返回默认值。有人看到什么了吗?

  • 我正在编写一个单元测试类(使用testng),它模拟了成员变量(使用Mockito),并并行运行测试。我最初在@BeForeClass方法中设置了预期的mock,在每个测试用例中,我通过为每个异常情况创建mockito.when来破坏一些东西。 我所看到的(不出所料)是这些测试不是独立的;当一个测试用例中的mockito.when会影响其他测试用例。我注意到可以在每次测试之前设置模拟,因此我将@B

  • 经过大量研究,我最终决定在这里发布以下问题。对于大学项目,我想通过SharedReferences保存我的应用程序设置。然而,无论我做什么,它都不起作用。 对于一个简单的测试,我尝试在我的主要活动的oncreate方法中编写一些testdata,如下所示: 当我在调试模式下检查prefs对象时,它会向我显示应该创建文件的路径:/data/user/0//共享优先/测试。xml 然而,当我在手机上导

  • 问题内容: 当前,我所有的JUnit测试都从一个通用的基类扩展而来,该基类提供了带有和标记的方法 -真正要做的就是设置一堆静态资源/服务以供测试使用。 由于某些原因,这对我来说似乎很尴尬: 根据我的理解,JUnit4的部分要点是我们不再需要这种经典的测试继承。 当我将这些测试作为套件的一部分而不是单独运行(我们经常这样做)时,多次调用和,从而减慢了测试的速度-我们实际上应该只调用一次 我想做的是以

  • 问题内容: 我将Specflow与NUnit和Selenium结合使用,并希望在所有测试中共享驱动程序实例。我可以使用FeatureContext达到功能级别,但是看不到所有测试的任何内容。我知道这可能不是正确的方法,但我想知道是否有办法。 请帮助提供示例。 谢谢 问题答案: 有几种方法可以做到这一点。此页面涵盖了大多数 我个人可能要做的是定义一个类,并在所有Step类的构造函数中都需要该类,然后

  • 我正在努力理解使用的好处。文档和其他帖子(Junit@Rule是如何工作的?)所有这些都暗指能够在类内的测试之间共享代码和/或在测试类之间共享代码。 在功能/集成测试中,我试图使用进行DB连接,但我不知道如何跨类共享该连接。事实上,在这种情况下,我并没有看到比有什么好处。我是不是用错了,还是我遗漏了什么?