android - Robolectric 3.0 - 使用 applicationIdSuffix 时资源未解析

标签 android unit-testing robolectric

我已经成功地使用此代码在应用程序中加载资源及其使用 Robolectric 2.4 的单元测试:

getContext().getResources().getIdentifier(resName, "string", getContext().getPackageName());

应用程序中的 Context 是 MyApplication,Robolectric 测试中的 TestMyApplication。

在 Robolectric 3.0 中,当 applicationIdSuffix 添加到构建文件时,这不再有效,调用返回 0。

这是一个已知问题吗?这是在 com.android.tools.build:gradle:1.2.0-beta1 和 org.robolectric:robolectric:3.0-rc2

更新 https://github.com/robolectric/robolectric/issues/1623

最佳答案

现在实际上有一个简单的修复方法,只需添加 @Config(constants = BuildConfig.class, packageName = com.your.package)

参见 https://github.com/robolectric/robolectric-samples/tree/master/android-flavors

关于android - Robolectric 3.0 - 使用 applicationIdSuffix 时资源未解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29601855/

相关文章:

java - Android 请求在 webview 中使用位置的权限

unit-testing - Rust 测试甚至无法运行

android - 困惑如何使用 Mockito 进行 android 测试

android - 当您的应用程序代码中有 try-catch 时,Robolectric 测试中的错误上升

android - 在 Robolectric 3 中隐藏 getFilesDir()

android - 如何计算正确的 apkCertificateDigestSha256 有权访问证书?

android - LinearLayout空间分布

android - toast : Internal Error Occur with integration of Google Plus in Android

c# - 如何模拟 Entity Framework 6 异步方法?

ruby-on-rails - 应该:测试validates_presence_of:on =>:update