Intereting Posts
Как пожар Нажмите событие pdf-файла. Указатель главы JNI ERROR (ошибка приложения): доступ к устаревшей локальной ссылке 0xbc00021 (индекс 8 в таблице размера 8) Сортировка строки списка массивов пользовательских классов с помощью команды Collections.sort Метод setActionBar (Панель инструментов) в типе Activity не применим для аргументов (Панель инструментов) Проблемы со звуком и видео в MediaCodec на Android Тема SeekBar Holo с использованием библиотеки поддержки ClassNotFoundException в apk build с maven Программно получить уровень API Android на устройстве? Android OpenGL ES Текстуры, показывающие черный экран на некоторых устройствах Samsung RecyclerView нет полосы прокрутки при выключении прокрутки Пользовательский звуковой сигнал не воспроизводится API Android для Google Диска – проверьте, существует ли папка Android-студийный файловый обозреватель, не отображающий файлы в папке с данными Gps возвращается на один день вперед? Изменение уровня API Android Studio

Тестирование категорий Android

Я бы хотел иметь две (или несколько) тестовых задач для моего проекта Android, где разница – это другой набор категорий Junit для включения / исключения.

Используя плагин java для java, я могу сделать что-то вроде

task testFast(type: Test) { useJUnit { includeCategories 'foo.Fast' excludeCategories 'foo.Slow' } } task testSlow(type: Test) { useJUnit { includeCategories 'foo.Slow' excludeCategories 'foo.Fast' } } 

Однако, если вы используете плагин android, я должен добавить testOptions к закрытию Android для включения / исключения,

 android { ... testOptions { unitTests.all { useJUnit { excludeCategories foo.Slow' } } } ... } 

Но, конечно, это относится ко всем тестовым задачам для всех вариантов сборки.

Есть ли способ создать задачи, которые используют один и тот же вариант сборки, но выполнять тесты для разных категорий?

Лучше всего я придумал использовать свойство gradle из командной строки:

 testOptions { unitTests.all { useJUnit { if (project.hasProperty('testCategory') && testCategory == "Slow") { includeCategories 'foo.Slow' } else { excludeCategories 'foo.Slow' } } } } 

И использовать

 gradlew -PtestCategory=Slow test