Я использую maven и maven-failsafe-plugin для запуска причала на этапе жизненного цикла интеграционного тестирования. Затем я выполняю несколько (* IT.java) тестов junit для моего запущенного веб-приложения. Это работает, как ожидалось.
Однако я хотел бы подключиться к тестовой базе данных для своих интеграционных тестов. Я сохраняю его URL-адрес в
${basedir}/src/test/resources/jdbc.properties
. Когда плагин Jetty запускается (jetty: run), он вместо этого использует
${basedir}/src/main/resources/jdbc.propertes
. Я попытался перенастроить плагин пристани с помощью свойства classesDirectory , чтобы использовать
${project.build.testOutputDirectory}
, но в каталоге тестовых классов отсутствуют мои фактические скомпилированные классы проекта, а также ресурсы, хранящиеся в
${basedir}/src/main/resources
, примечание: surefire добавляет тестовые ресурсы в путь к классам, за которыми следуют основные ресурсы, так что все, что найдено в обоих, будет использовать тестовую версию, потому что оно находится первым в пути к классам.
Есть идеи, как правильно настроить это?
Спасибо !
РЕДАКТИРОВАТЬ:
Что ж, кажется, есть свойства конфигурации в плагине пристани, чтобы справиться с этим:
К сожалению, они не работают.
Вот соответствующая часть моего pom.xml:
true src / test / resources org.mortbay.jetty плагин maven-jetty 6.1.26 / 8005 СТОП старт-причал предварительный интеграционный тест запустить верно истина $ {project.build.testOutputDirectory} остановка причала тест после интеграции стоп maven-failsafe-plugin 2.6 интеграционный тест проверить false