Я пытаюсь отделить интеграционные тесты в Android Studio 0.9.Отделив тесты интеграции от модульных тестов в Android Studio
Я добавил следующее в файл сборки:
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..
Который имеет смысл, поскольку андроид плагин определяет свои собственные наборы исходных, но они не работают либо ,
IDE не распознает каталог как источник исходного кода. В целях тестирования я изменил имя источника на
androidTest
, и он правильно получил значок зеленой папки, а тесты выполняются вместе с существующими модульными тестами, которые уже определены вandroidTest
.
ли вы когда-нибудь, чтобы это работало? Я получаю аналогичные java-ошибки, а тестовый класс не обнаружил ошибок даже после следующих ссылок. – user484691
В конце концов, я не смог заставить их работать как отдельные тестовые костюмы удовлетворительным образом, я просто использовал один тестовый костюм. – Philio
Спасибо за обновление. Я не смог получить тесты в моем SDK-модуле для выполнения вообще. Есть что-то, чего я не вижу. Я попытался выполнить один тест, и я продолжаю получать класс, который не найден. – user484691