如何从测试访问字符串资源?

时间:2019-10-21 19:41:50

标签: android testing junit resources

我在android中有一个项目。我想在junit中进行测试。在资源中,insinide strings.xml有一个名为labels_array的字符串数组。如何从junit中的测试方法访问(获取)此字符串数组?

在测试班上,我有

    @Rule
    public ActivityScenarioRule mActivityRule = new ActivityScenarioRule<>(
            MainActivity.class);


    @Test
    public void fooTest() {
        ActivityScenario scenario = mActivityRule.getScenario();
}

但是我该如何使用这些规则和方法来从方法fooTest内部访问字符串数组?

2 个答案:

答案 0 :(得分:1)

由于要获取字符串数组的实值,因此可以使用:

final Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
@ArrayRes final String[] labelsArray = context.getResources().getStringArray(R.array.labels_array);

答案 1 :(得分:0)

您可以通过模拟来做到这一点。我认为以下链接之一可能是您的请求的解决方案。

https://medium.com/android-testing-daily/unit-testing-xml-resources-7387447f9ef7

Unit test Android, getString from resource