Как запустить тесты, отфильтрованные с помощью тегов с огурцом-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" 

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