8

Gradle сборка без тестов

6

Я хочу выполнить команду gradle build без запуска модульных тестов. Я пробовал следующую команду:

gradle -Dskip.tests build

Однако это не дает результата. Есть ли другая команда, которую я могу использовать?

5 ответ(ов)

1

Попробуйте выполнить:

gradle assemble

Чтобы увидеть все доступные задачи для вашего проекта, выполните:

gradle tasks

ОБНОВЛЕНИЕ:

На первый взгляд это может показаться не совсем корректным ответом, но внимательно прочитайте вывод команды gradle tasks или документацию.

Build tasks
-----------
assemble - Собирает выходные артефакты этого проекта.
build - Собирает и тестирует этот проект.
0

Вы можете добавить следующие строки в файл build.gradle, чтобы исключить все тесты:

test {
    exclude '**/*'
}

Эта конфигурация в секции test указывает Gradle игнорировать все тестовые файлы в проекте.

0

Принятый ответ является верным.

С другой стороны, тем способом, которым я ранее решал эту задачу, было добавление следующего кода ко всем проектам:

test.onlyIf { ! Boolean.getBoolean('skip.tests') }

Запустите сборку с параметром -Dskip.tests=true, и все задачи тестирования будут пропущены.

0

Проблема, которую вы описали, действительно возникает при использовании -x test с командой gradle build, так как это не только пропускает выполнение тестов, но и исключает компиляцию кода тестов. Это может создать сложности в CI/CD процессе, где важна отдельная компиляция и выполнение тестов.

В вашем случае для достижения цели компиляции всего проекта, вы правильно сделали, что использовали команду:

./gradlew build testClasses -x test

Эта команда компилирует основной код проекта и класс файлов тестов, но при этом не запускает сами тесты. Это позволит убедиться, что код компилируется правильно.

После того как вы убедились, что ваш проект компилируется, вы можете выполнить тесты на следующем этапе с помощью:

./gradlew test

Таким образом, вы разделили процесс компиляции и тестирования, что соответствует вашим требованиям в CI/CD. Если вам нужно избежать компиляции ненужного кода в другие этапы, вы можете также рассмотреть использование других задач Gradle, чтобы оптимизировать ваши сборки.

0

Каждое действие в Gradle является task, и test также является task. Чтобы исключить task из выполнения Gradle, вы можете использовать опцию --exclude-task или её краткую форму -x, за которой следует имя task, которую необходимо исключить. Пример:

gradle build -x test

Опцию -x следует повторить для всех task, которые нужно исключить.

Если у вас есть разные задачи для различных типов тестов в вашем файле build.gradle, то вам нужно пропустить все задачи, которые выполняют тесты. Например, если у вас есть задача test, которая выполняет модульные тесты, и задача testFunctional, которая выполняет функциональные тесты, вы можете исключить все тесты следующим образом:

gradle build -x test -x testFunctional
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь