Запуск одной и той же задачи Gradle несколько раз - PullRequest
0 голосов
/ 23 декабря 2018

Итак, у меня есть тестовое задание, которое запускает все мои тесты.Как настроить Gradle для выполнения этой задачи 100 раз?Он работает и запускает все мои тесты, мне просто нужно выбрать, сколько раз выполнить это.

Задача в build.gradle:

test {
    // enable JUnit Platform (a.k.a. JUnit 5) support
    useJUnitPlatform()

    // set a system property for the test JVM(s)
    systemProperty 'some.prop', 'value'

    // explicitly include or exclude tests
    include 'com/company/calculator/**'

    // show standard out and standard error of the test JVM(s) on the console
    testLogging.showStandardStreams = true

    // set heap size for the test JVM(s)
    minHeapSize = "128m"
    maxHeapSize = "512m"

    // set JVM arguments for the test JVM(s)
    jvmArgs '-XX:MaxPermSize=256m'

    // listen to events in the test execution lifecycle
    beforeTest { descriptor ->
        logger.lifecycle("Running test: " + descriptor)
    }

    // Fail the 'test' task on the first test failure
    failFast = true

    // listen to standard out and standard error of the test JVM(s)
    onOutput { descriptor, event ->
        logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message )
    }

Сценарий использования: яЯ хочу протестировать производительность разных утверждений и библиотек проверки (у меня есть несколько веток с тестами, написанными с использованием разных библиотек), для этого мне нужно запустить тестовый набор несколько раз.

Для тестирования производительности мне нужно измерить времянапример, необходимо выполнить эти тесты 100 раз (возможно, 1000) для каждой установленной библиотеки.

1 Ответ

0 голосов
/ 23 декабря 2018

Одним из вариантов может быть этот флаг --rerun-tasks.
gradle test --rerun-tasks
С Руководство пользователя Gradle .

Другой вариант из аналогичного вопроса - создание подкласса класса Test, который возвращает задачу с несколькими копиями всех тестов, код здесь: https://stackoverflow.com/a/41650455/1686615.

На самом деле есть много способов сделать это на разных уровнях, с кодом Gradle, как в этой ссылке, или, возможно, в файлах .gradle, с параметром, переданным в тестовый код или в командной строке.Возможно, укажите больше о вашем сценарии использования или есть определенный уровень, на котором вы хотите внести изменения.

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