Как вы можете зависеть от тестового кода из другого модуля в Maven?
Например, у меня есть 2 модуля:
- Основание
- Основной
Я хотел бы, чтобы контрольный пример в Main расширял базовый тестовый класс в Base. Это возможно?
Обновление: нашел приемлемый ответ , который предполагает создание тестовой банки.
Ответы:
Я рекомендую использовать тип вместо классификатора (см. Также: классификатор ). Он рассказывает Maven немного более четко, что вы делаете (и я обнаружил, что m2eclipse и q4e оба нравятся больше).
источник
Спасибо за предложение базового модуля. Однако я бы не стал создавать новый модуль именно для этой цели.
Нашел приемлемый ответ в документации Surefire Maven и в блоге . Смотрите также « Как создать банку с тестовыми классами ».
Это создает файл кода jar с
src/test/java
использованием плагина jar, чтобы модули с тестами могли совместно использовать код.Чтобы использовать прикрепленный тестовый JAR, созданный выше, вы просто указываете зависимость от основного артефакта с указанным классификатором тестов:
источник
Мы решили эту проблему, создав проект maven с тестовым кодом в качестве src / main / java и добавив следующую зависимость к проектам:
источник
Да ... просто включите базовый модуль в качестве зависимости в Main. Если вы наследуете только тестовый код, то вы можете использовать тег scope, чтобы Maven не включал код в ваш артефакт при развертывании. Примерно так должно работать:
источник