Intereting Posts
Пользовательский элемент строки для Android для ListView Разница между воссозданием Activity с методом recreate () и startActivity (getIntent ()) Потоковое аудио между внешним Bluetooth-устройством и телефоном Android Как импортировать скользящее меню на Intellij Idea? Можно ли программно удалить пакет на Android? IntelliJ / Android -> "java: требуется постоянное выражение" на случай R.id.viewId Android AlertDialog с закругленными углами ProgressBar не восстанавливается до «0» при открытии второго раза Удалите изображение из приложения для просмотра изображений Android Вызов showAtLocation popupwindow приводит к сбою приложения Штрих-панель действия: настройка и скрытие заголовка Каковы общие проблемы, которые испытывают небольшие группы разработки Android? Биллинг в приложении не работает: «IAB Helper не настроен» Org.codehaus.jackson.map.exc.UnrecognizedPropertyException: непризнанное поле «id» (критерии класса), не помеченное как невежественное Использование Admob в Android-приложении – Несколько файлов dex определяют

Как запустить тесты, отфильтрованные с помощью тегов с огурцом-jvm и gradle?

Я работаю с огурцом в течение некоторого времени, и теперь я хочу перенести использование тестового набора для перехода от maven.

Мне удалось подготовить проект, охватывающий основное использование, запуск тестов, получение результатов и т. Д. Последний фрагмент, который мне не хватает, – это возможность запуска тестов, отфильтрованных по определенному тегу. Выполнение приемочных испытаний осуществляется с использованием продукта:

productFlavors { uats { testInstrumentationRunner "com.paddy.cuespton.cuespton.test.Instrumentation" } full { applicationId "com.paddy.app.cuespton" versionName "1.0" } } 

Это позволяет мне запускать тесты с заданием:

 ./gradlew connectedAndroidTestUatsDebug 

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

Я попытался использовать https://github.com/samueltbrown/gradle-cucumber-plugin/ плагин, который должен теоретически решить эту проблему, но я не могу заставить его работать с Android из-за языковой несовместимости.

Вот репо, на котором я работаю, https://github.com/paddyzab/espresso-cucumber-sandbox .

Спасибо за помощь!

Не пробовал этот плагин с огурцом, но при условии, что у нас есть аналогичная настройка, вы можете сделать следующее ( sample repo ):

1) определить соответствующий buildConfigField для вкуса uats:

 Uats { testInstrumentationRunner "com.quandoo.gradletestpoc.test.Instrumentation" // passing instrumentation parameters buildConfigField "String", "TAGS", "\"${getTagsProperty()}\"" } 

2) определить метод getTagsProperty ():

  def getTagsProperty() { return project.hasProperty("tags") ? project.getProperties().get("tags") : "" } 

3) Обработайте пройденный тег в методе onCreate () вашего пользовательского класса приборов:

 private static final String TAGS_KEY = "tags"; ...... @Override public void onCreate(final Bundle bundle) { super.onCreate(bundle); // Reading runner params String tags = BuildConfig.TAGS; if (!tags.isEmpty()) { bundle.putString(TAGS_KEY, tags); } instrumentationCore.create(bundle); start(); } 

4) Запуск

 ./gradlew connectedAndroidTestUatsDebug -Ptags="@bar" 

Наслаждайтесь!