使用robolectric时如何访问测试类中的资源

问题描述 投票:5回答:3

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

android robolectric
3个回答
0
投票

糟糕,在发帖之前,我真的应该做更多的研究robolectric得到了资源支持https://github.com/robolectric/robolectric


0
投票

我这样做是:

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);
}

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


0
投票

您可以通过您的应用程序实例访问应用程序的资源。使用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
}
© www.soinside.com 2019 - 2024. All rights reserved.