Отделение интеграционных тестов от юнит-тестов в Android Studio
Я пытаюсь выделить интеграционные тесты в Android Studio 0.9.
Я добавил следующее в файл сборки:
sourceSets {
integrationTest {
java.srcDir file('src/integrationTest/java')
}
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
Я столкнулся с парой вопросов:
Задача запустится, но у нее не будет доступных остальных файлов проекта, поэтому я получаю ошибки об отсутствующих классах. Я нашел некоторые специфичные для Java решения, такие как:
http://selimober.com/blog/2014/01/24/separate-unit-and-integration-tests-using-gradle/https://blog.safaribooksonline.com/2013/08/22/gradle-test-organization/Но я не смог понять, как заставить это работать с Android Studio. Различные комбинацииmain
а такжеmain.output
и игра с зависимостями, похоже, не работает, я получаю такие ошибки, как:
Error:(33, 0) Could not find property 'main' on SourceSet container..
Это имеет смысл, так как плагин Android определяет свои собственные исходные наборы, но они тоже не работают.
Среда IDE не распознает каталог как каталог исходного кода. В целях тестирования я изменил имя исходного набора наandroidTest
и он правильно получает зеленый значок папки, и тесты запускаются вместе с существующими модульными тестами, которые уже определены вandroidTest
.