2015-04-27 2 views
2

Так что в конечном итоге я пытаюсь отделить свои интеграционные тесты от модульных тестов в проекте Android Studio. Я нашел несколько ресурсов по теме:Как добавить новый исходный каталог в проект Android Studio?

Все это, кажется, показывают, что путь, чтобы создать новый sourceSet для интеграционных тестов, а затем создать новую тестовую задачу, которая строит и запускает тесты в этом наборе источников. Я не могу пройти первый шаг создания набора источников, который распознается Android Studio.

Вот что я имею в приложение/build.gradle, который строит без ошибок, но не приводит к корню integrationTest источника я могу добавить классы:

android{ 
    ... 
    sourceSets{ 
     integrationTest { 
      java.srcDir('src/integrationTest/java') 
     } 
    } 
} 

Мои вопросы:

  1. Где именно я должен добавить блок sourceSets? В build.gradle? в приложении/build.gradle? В app/build.gradle внутри блока Android?

  2. Как только я добавил исходный код в нужное место, используя правильный синтаксис, достаточно ли для Android Studio обнаружить и представить его в пользовательском интерфейсе вдоль основного и тестового источников или есть дополнительные шаги?

редактировать:

Я пытался следовать инструкциям в ответ Marius', но integrationTest не показывается в моих вариантах сборки. Вот что я вижу:

Build variants window

ответ

2

Это достаточно:

android{ 
    ... 
    productFlavors{ 
     integrationTest { 
     } 
    } 
} 

Что касается вашего вопроса : productFlavors блок должен быть в вашем app/build.gradle, внутри android блока.

Что касается вашего 2-й вопрос: После того, как вы добавили это в файл build.gradle, вам также необходимо создать папки /src/integrationTest и /src/integrationTest/java. Как только это будет сделано, синхронизируйте свои файлы градиента и выберите свой новый вариант сборки из окна Build Variant, чтобы IDE обнаружила его как активную исходную папку.

enter image description here

+0

Спасибо за ответ - так что теперь я добавил блок выше приложение/build.gradle внутри 'android' блока, и я создал папку'/SRC/integrationTest' и '/ src/integrationTest/java', и я синхронизировал свои файлы градиентов. Когда я перехожу в окно «вариант сборки» (выбранный из левой панели), я не вижу ссылки на интеграцию. Я могу выбрать «Unit Test» или «Android Instrumentation Test» в раскрывающемся списке «Test Artifact», или я могу выбрать «debug» или «release» из раскрывающегося списка вариантов приложения/сборки. Я что-то упускаю? – sak

+0

Возможно, вы выбрали «Test Artifact» из раскрывающегося списка. Существует еще один раскрывающийся список, ниже «Test Artifact», в правой части списка «Module-Build Variant». Отредактировал мой ответ, чтобы включить рис. –

+0

Есть ли где-то еще эти варианты сборки? У меня есть это раскрывающееся меню, но единственными параметрами являются «debug» и «release». «integrationTest» там не появляется. – sak

Смежные вопросы