2014-01-23 3 views
1

Я пишу тесты для приложения, которое ссылается на жестко заданное имя файла "classpath: config.properties". Это имя невозможно изменить. Есть ли способ проверить это приложение с различными конфигурациями? то есть различные тесты предоставляют разные конфигурации во время выполнения?Mock a config file

Это странное требование, но я глубоко признателен за любые материалы

+0

Можете ли вы написать свои тесты для изменения файла конфигурации до того, как ваше приложение должно его прочитать? – Jeffrey

ответ

0

Это все о classpath - какие банки находятся в пути к классам и как вы организуете свою структуру проекта.

Пользователь maven, чтобы ресурсы из 'src/test/resources' загружались до 'src/main/resources'. Но, как правило, лучший способ - отделить ресурсы конфигурации приложения от кода приложения.

В качестве альтернативы, вы можете разделить проект с конфигурационными ресурсами в 3-й или 4-х проекты:

  • проекта с кодом
  • проектом с конфигурационными ресурсами добавлены в приложении классов, но не испытать классы
  • проект с тестовыми ресурсами, добавленный к тестовому пути, но не к классу классов приложения
  • опционально, вы можете переместить тестовый код JUnit для отдельного проекта
0

Если вы загружаете свою конфигурацию с classpath:config.properties, то эти свойства находятся в папке src/main/resources.

Когда вы запускаете тесты, вы можете добавить свою конфигурацию в src/test/resources, и она будет «переопределять» основную конфигурацию.