Пользовательская задача сборки с junit5 - PullRequest
0 голосов
/ 30 апреля 2018

Используя gradle и junit 5, вы устанавливаете обычную команду build для запуска всех тестов:

test {
    useJUnitPlatform()
    failFast = true
}

У меня также @Tag("slow") некоторые тесты, которые я хочу пропустить, поэтому у меня есть новое задание testFast, чтобы пропустить эти тесты:

task testFast(type: Test) {
    useJUnitPlatform {
        excludeTags 'slow'
    }
}

Отлично. Поэтому теперь мне нужна дополнительная команда build, которая выполняет те же действия, что и обычная команда сборки, но заменяет обычные шаги test моей командой testFast. Как мне это сделать?

task buildFast(dependsOn: 'build') {
    // TODO replace the test task with testFast
}

1 Ответ

0 голосов
/ 02 мая 2018

Вы, вероятно, могли бы сделать это с помощью TaskExecutionGraph

task buildFast(dependsOn: 'build') { 
    // no body required 
} 
gradle.taskGraph.whenReady {
    boolean fast = gradle.taskGraph.hasTask('buildFast')
    project.tasks['test'].enabled = !fast
    project.tasks['testFast'].enabled = fast
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...