Android Mockito 如何模拟资源

标签 android mockito robolectric

我使用 robolectric 作为我的 Mockito 测试运行器。我想知道在 Android 中我如何模拟资源。我有一个数组资源,但在我的测试中我想模拟这个值。

我有一个看起来像这样的数组:

 <array name="screen_sections">
        <item>screen1</item>
        <item>screen2</item>
        <item>screen3</item>
        <item>screen4</item>
    </array>

在测试代码中我想模拟这些值。

最佳答案

我找到了使用 Mockito.when 执行此操作的方法。所以我会创建一个普通数组并将其与我的值一起保存,这样的效果很好:

CharSequence myNewArray = {"value1","value2","value3"}
Mockito.when(resources.getTextArray(someID)).thenReturn(myNewArray);

关于Android Mockito 如何模拟资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33639929/

相关文章:

java - Spring Boot 和 Mockito 验证始终为 true

java - 测试失败并显示 "when() requires an argument which has to be ' 对 mock 的方法调用“maven 项目错误(未使用框架)

java - 如何模拟由类生成器创建的对象?

android - 当 Robolectric 在服务实例中调用 getSystemService 时出现 NPE

android - 升级到Android Studio 1破坏了Robolectric测试

android - 找出智能手机支持的使用权限

android - 以编程方式在 SwipeView 中添加新布局

android - 使用 FLAG_NO_LIMIT 后 SnackBar 落后于 NavigationBar

android - 运行 gradlew 测试时出现 Robolectric 错误

android - 如何从另一项 Activity 中获取值(value)?