安卓 : Separate resources for 'androidTest' '

标签 android android-resources android-testing

我想在运行测试时使用单独的资源集,所以我在

中设置了一个名为“configs.xml”的文件

'src/androidTest/res/values'

并将其添加到gradle

sourceSets { androidTest { resources.srcDirs = ['src/androidTest/res'] } } }

但是当我尝试使用以下行获取资源时

String s1 = getInstrumentation().getContext().getResources().getString(R.string.test_config);

我得到以下错误

01-08 18:06:13.814 16761-16774/com.example.hellodroid I/TestRunner﹕ android.content.res.Resources$NotFoundException: String resource ID #0x7f070008 at android.content.res.Resources.getText(Resources.java:1382) at android.content.res.Resources.getString(Resources.java:1476)

有人能指出我哪里错了吗??

最佳答案

在您的 build.gradle 文件中,这应该有效:

sourceSets {
    instrumentTest.setRoot('tests')
}

我相信,这允许 tests/javatests/res 文件夹等。

关于安卓 : Separate resources for 'androidTest' ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840547/

相关文章:

android - 如何将 android 资源 int 转换为字符串。例如。 : android. R.string.cancel?

android - 允许在 Jenkins 上构建不稳定的 Android Gradle

android - LinearLayout 的 onclicklistener 问题

java - 如何从我的自定义适配器更新 ListView

android - 保存 Activity_main.xml 时遇到问题

java - 使用同一资源文件更改所有布局的 TextView 值

java - 从 R 中获取带有字符串的 id

android - 如何测试 IntentService android?

android - Espresso - 匹配一个类的实例

android - 向上滚动时,折叠工具栏中的 SearchView 被隐藏