Передача тегов в задачу Gradle огурца - PullRequest
0 голосов
/ 18 февраля 2020

Я знаю, что мы можем передать теги огурца в Gradle, указав в файле build.gradle следующее:

test {
    systemProperty "cucumber.options", System.getProperty("cucumber.options")
}

Так что при запуске gradlew test -Dcucumber.options="--tags @CDC" он будет запускать только сценарий ios с CD C tag.

Но у меня вопрос, могу ли я передать параметры огурца в задачу огурца. Причина, по которой мне нужно это сделать, заключается в том, что моя задача cucumber создает файл JSON после запуска задачи, и я использую плагин gradle-cucumber-reporting (https://github.com/SpacialCircumstances/gradle-cucumber-reporting) для создания отчета на основе в файле JSON.

задача огурца

task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "io.cucumber.core.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = [
            '--plugin', 'html:cucumber-report',
            '--plugin', 'json:cucumber.json', //generates a .json report file
            '--plugin', 'pretty',
            '--plugin', 'usage:cucumber-usage.json',
            '--glue', 'hellocucumber', 'src/test/resources']
        }
    }
}

Выполнение задачи test в Gradle не обновляет файл JSON.

Вот Фрагмент отчета о грейле-огурце:

cucumberReports {
  outputDir = file('cucumber-pretty-report')
  buildId = '0'
  reports = files('cucumber.json')
}

1 Ответ

1 голос
/ 19 февраля 2020

Вы можете добавить что-то вроде этого к своей задаче огурца:

def tags = getProperty("tags")
args = [
'--plugin', 'html:cucumber-report',
'--plugin', 'json:cucumber.json', //generates a .json report file
'--plugin', 'pretty',
'--plugin', 'usage:cucumber-usage.json',
'--glue', 'hellocucumber', 'src/test/resources',
'--tags', tags]

Тогда вы можете запустить вашу задачу следующим образом:

gradle cucumber -P tags=smoke
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...