Как бы вы настроили следующее в Maven?Предположим, у меня есть 4 модуля:
- data-access-api
- data-access-impl-derby
- data-access-impl-postgresql
- data-access -интеграция-тесты
Предположим, я хочу иметь возможность проверить два контейнера:
- arquillian-jbossas-ebedded-6
- arquillian-glassfish-embedded-3.1
Для запуска моих интеграционных тестов мне нужен модуль 'data-access-api' и ровно одна реализаций.Я также хочу проверить ровно один контейнеров.Я могу придумать несколько способов заставить его работать, но все они имеют недостатки, и я даже не знаю, поддерживает ли Maven некоторые из них.
Я нашел следующее предложение добавить концепцию групп профилей вMaven, но, насколько я могу судить, ничего подобного еще не было добавлено:
http://docs.codehaus.org/display/MAVENUSER/Improvements+to+Profile+Activation+Deactivation
Концепция наличия группы взаимоисключающих профилей будет работать, но может стать неуправляемойдовольно быстро.Представьте себе 3 реализации и 3 контейнера.Было бы 9 возможных конфигураций профиля, хотя меня может заинтересовать только тестирование 3 или 4 возможных комбинаций.
Другое решение, которое я могу придумать, - это создать один модуль интеграции для каждого сценария, который необходимо протестировать.,Например (подробное имя, чтобы уточнить, что я имею в виду):
- gration-arquillian-glassfish-Embedded-data-access-accessgresql
Однако я не могу понять,способ сделать это, не дублируя мои интеграционные тесты.В моем модуле тестирования доступа к данным есть только интеграционные тесты.Я использую CDI для внедрения зависимостей, и тесты выполняются против API.Я могу запустить один и тот же набор тестов для каждой реализации.Это просто вопрос упаковки ровно одной реализации с API.
Сейчас я использую Maven 2.