8

我已经制作了一个值的文本文件,我想用它在 res/raw 中进行测试
我想在测试中使用它们
我正在使用 robolectric
访问这些值的最佳方法是什么?
谢谢

4

3 回答 3

3

您可以通过应用程序实例访问应用程序的资源。使用 ApplicationProvider 从单元测试中获取它:

// replace 'Application' with your actual class if you use a custom one
ApplicationProvider.getApplicationContext<Application>().resources

确保在您的或您的单元测试中将 includeAndroidResources 设置为 true,build.gradle否则您将看不到您的资源:

android {
    testOptions.unitTests.includeAndroidResources true
}
于 2019-10-30T01:31:59.890 回答
0

哎呀,在我发布问题之前我真的应该做更多的研究
robolectric 得到了资源支持https://github.com/robolectric/robolectric

于 2011-07-27T05:37:21.597 回答
-1

我这样做了:

int resourceId = Robolectric.getShadowApplication().getResources()
                 .getIdentifier("myaudio","raw", Robolectric.getShadowApplication().getPackageName()); 

if (resourceId != 0) {  // Raw folder contains resource.
    assertTrue(true);
} else {                // Raw folder doesn't contain resource.
    assertTrue(false);
}

希望这有帮助...!谢谢..!!

于 2014-01-03T10:08:34.240 回答