#unit-testing #maven-2
#модульное тестирование #maven-2
Вопрос:
Я написал сервер REST (на Java с использованием RestEasy) с набором модульных тестов, написанных на Scala. Набор тестов использует макет сервера, предоставляемый RestEasy, и запускается с каждой сборкой Maven.
Я хотел бы создать второй набор функциональных тестов, который вызывает реальный сервер tomcat и использует каждую службу REST. Я не хочу, чтобы этот новый набор запускался при каждой сборке, а только по требованию, возможно, управляемый с помощью аргумента командной строки для Maven.
Возможно ли создать несколько независимых наборов тестов в проекте Maven и отключить автоматический запуск некоторых из них, или мне нужно создать отдельный проект Maven для этого функционального набора? Как я могу разделить различный код функционального набора, если эти тесты находятся в одном проекте с модульными тестами (разные каталоги)? Как мне запустить выбранный набор с аргументами командной строки?
Ответ №1:
Я никогда не использовал его сам, но я знаю об интеграционных тестах maven, выполняемых Maven Failsafe plugin.
Поскольку плагин surefire по умолчанию включает тесты с именами, **/Test*.java, **/*Test.java, **/*TestCase.java
отказоустойчивый плагин выполняет **/IT*.java, **/*IT.java, **/*ITCase.java
тесты.
Оба подхода к тестированию имеют разные намерения, которые, похоже, частично соответствуют вашим потребностям. Возможно, стоит взглянуть…..
Другим подходом было бы использовать профили maven и указывать разные включения для каждого профиля.