Я пытаюсь отделить интеграционные тесты в 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
.