Настройка ресурсов maven при тестировании - PullRequest
0 голосов
/ 15 декабря 2010

Мне нужно, чтобы цель ресурса плагина ресурсов была настроена иначе для фазы тестирования, чем для фазы сборки.При тестировании мне нужно исключить вещи из src / main / resources.Кажется, это невозможно, цель testResources не имеет значения для того, что мне нужно, а цель ресурса может иметь только один параметр в определении pom, который действует как на этапе тестирования, так и на этапе сборки ...

Например,Мне нужно, чтобы следующие настройки выглядели по-разному (за исключением некоторых) на этапе тестирования:

           <resources>
             <resource>
               <directory>${project.basedir}/src/main/java</directory>
               <includes>
                   <include>**/*.java</include>
                   <include>service.properties</include>
               </includes>
             </resource>
             <resource>
               <directory>${project.basedir}/src/main/resources</directory>
               <includes>
                   <include>**/*.xml</include>
                   <include>**/*.properties</include>
               </includes>
             </resource>
           </resources>

Идеальное поведение было бы, если бы я мог определить src / main / * в <testResources>, но, к сожалению, этоне будет сделано прямо сейчас

Пожалуйста, помогите, мне пришлось бы делать тонны модификации кода, если бы я не понял это.

1 Ответ

0 голосов
/ 15 декабря 2010

Возможно, вам придется иметь ресурсы в виде отдельного проекта, который не включается во время тестирования, что является беспорядком.

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

Именно здесь IoC действительно сияет.Ваши компоненты вводят свои ресурсы вместо того, чтобы компонент имел код выбора времени выполнения, какой ресурс (тестовый или фактический) должен быть выбран.Это важно, потому что тестовый код не может тестировать код, который выбирает тест.Если вы понимаете, что я имею в виду: -)

Если вы используете Spring, вы можете создать test-context.xml, содержащий переопределения bean-компонентов для изменений, которые вы хотите внести, а затем загрузить их после загрузки всех остальных контекстов.,Когда он загружен, вы получите предупреждение о переопределении bean-компонентов, посмотрите на них внимательно в первый раз, чтобы убедиться, что тестовый bean-компонент переопределяет производственный bean-компонент.Затем этот боб должен быть введен, как вы ожидаете.

...