Папка ресурсов Android Studio Robolectric

У меня есть рабочее пространство в студии Android, состоящее из проектов приложений и проекта зависимой библиотеки Android.

У меня есть модульный тест в проекте приложения, который проверяет класс, который загружает строку как из ресурсов проекта приложения, так и из ресурсов проекта библиотеки зависимостей.

Когда я запускаю модульный тест в Robotric, я получаю исключение «ресурс не найден», когда тестируемый класс пытается загрузить строку из ресурсов проекта библиотеки.

Как решить эту проблему? Как указать каталоги ресурсов приложения и библиотеки зависимостей для использования Robolectric?


person user1744147    schedule 03.10.2014    source источник
comment
исправление 1 - скопируйте ресурсы в папку приложения в файл с именем duplications-for-tests.xml. Исправление 2 — переопределить и предоставить свой собственный тестовый бегун, затем вы можете указать манифест и указать robolectric, где искать ресурсы.   -  person Blundell    schedule 03.10.2014
comment
Не могли бы вы уточнить оба варианта? Я не могу копировать ресурсы, их много и они причем в двух разных проектах. Это просто не масштабируется. Что касается пользовательского тестового запуска, из того, что я проверил, он занимает только одно местоположение ресурса, а мои ресурсы находятся в двух проектах.   -  person user1744147    schedule 06.10.2014
comment
Я тоже ищу решение этого.   -  person Andrea Baccega    schedule 08.10.2014


Ответы (2)


Это можно сделать, настроив пути к ресурсам, загруженным во время инициализации RobolectricTestRunner.

В этом решении есть хороший пример того, как это сделать:

https://stackoverflow.com/a/29223625/3063884

person CJBS    schedule 04.05.2015

android {
  testOptions {
    unitTests {
      includeAndroidResources = true
    }
  }
}

в app/build.gradle мне кажется предпочтительным вариантом для загрузки ресурсов.

person jknair    schedule 22.02.2018