Как добавить ресурсы в AndroidTest для библиотеки Android в AndroidStudio - PullRequest
0 голосов
/ 25 мая 2018

Я сделал проект androidLibrary, который содержит несколько Volley классов запросов, и хочу написать модульный тест для некоторых из этих запросов.

Я делал это, как сто раз, и это работает как-то после нескольких попыток, но никогда с первой попытки.

Если я попробую это через androidStudio

RightClick Project-> New-> Каталог ресурсов Android

, вы можете выбрать между исходными наборами "main", "debug" и "release",Опция androidTest отсутствует.

Если я попытаюсь сделать это вручную, добавив следующие папки [moduleName]/src/androidTest/res/raw и поместив файл внутрь (скажем, image.jpg), я не получу ссылку через R.raw.image,На самом деле у меня вообще нет доступа к R.raw в моем тесте.

Я также безуспешно пробовал проект Build-> rebuild или Build-> clean.

В других проектах яиметь my.app.namespace.R вдоль my.app.namespace.test.R, который содержит все тестовые ресурсы.

Итак, мой вопрос: что мне нужно сделать, чтобы добавить папку res в мой androidTest, которая доступна через R.[folder].[resId]?

Я пропустил важный шагпосле добавления файлов (т. е. сообщая gradle об этом)?

Потому что добавление такого тега в мой build.gradle также, похоже, не имеет никакого значения:

android {
    sourceSets {
        androidTest {
            java.srcDirs = ['src/androidTest/java']
            res.srcDirs = ['src/androidTest/res']
        }
    }
}

Есливажно, что я использую:

  • Android Studio 3.1.2
  • gradle-wrapper 4.4
  • minSdkVersion 19
  • targetSdkVersion 27

1 Ответ

0 голосов
/ 25 мая 2018

Я выяснил, что происходит с помощью обновления Майкла Крусселя Ответ:

Android Studio не автоматически компилирует пакет my.app.namespace.test,Все, что вам нужно сделать, это запустить тест в первый раз, игнорируя ошибки AndroidStudio.

После первого запуска вы получили доступ ко всему пространству имен test (включая класс *.test.R)

Никаких дополнительных настроек gradle (например, sourceSets сверху) не требуется!

...