Android:在JUnit中传递上下文并使用共享首选项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:在JUnit中传递上下文并使用共享首选项相关的知识,希望对你有一定的参考价值。

android上,我使用JUnit来测试需要上下文来访问共享首选项的Amazon Web服务器cognito。我试图模拟上下文,并使用Android检测工具,但两个选项都没有。正在接收上下文,但我无法访问共享首选项,因为我得到一个空指针。

有什么建议?谢谢。

答案

如果你想嘲笑,你可以尝试Mockito。您需要找到需要模拟的所有调用。

    final Context mockContext = Mockito.mock(Context.class);
    final SharedPreferences preferences = Mockito.mock(SharedPreferences.class);
    Mockito.when(preferences.getString("<identitypool>.<key>", null)).thenReturn("someValue");

以上是关于Android:在JUnit中传递上下文并使用共享首选项的主要内容,如果未能解决你的问题,请参考以下文章

如何在 android 的 JUnit 测试用例中获取 MainActivity 的上下文和活动?

如何在 JUnit 中加载应用程序上下文并使用 Autowired

在 JUnit 测试的上下文中使用 OSGi 声明式服务

无法使用反应上下文在不同组件之间共享数据

Android MVP Architecture and Realm - 如何避免在 MVP 层之间传递上下文?

如何在 JUnit 测试中使用 Spring defaultValidator