我已经制作了一个文本文件,里面包含我想要在res/raw中测试使用的值。
我想要在测试中使用它们。
我正在使用Robolectric。
访问这些值的最佳方式是什么?
谢谢。
我已经制作了一个文本文件,里面包含我想要在res/raw中测试使用的值。
我想要在测试中使用它们。
我正在使用Robolectric。
访问这些值的最佳方式是什么?
谢谢。
您可以通过应用程序实例访问应用程序资源。使用ApplicationProvider从单元测试中获取它:
// replace 'Application' with your actual class if you use a custom one
ApplicationProvider.getApplicationContext<Application>().resources
确保在您的build.gradle
中将includeAndroidResources设置为true,否则您的单元测试将无法看到您的资源:
android {
testOptions.unitTests.includeAndroidResources true
}
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);
}
RuntimeEnvironment.application
而ن½؟用Robolectric.getShadowApplication
ï¼ں - IgorGanapolsky