Запуск тестовых случаев Junit с использованием 2 отдельных пружинных прикладных контекстов - PullRequest
4 голосов
/ 09 марта 2011

У меня есть набор тестовых примеров интеграции JUnit, которые я хочу запускать в 2 или более отдельных контекстах весенних приложений.Контексты приложения различаются в настройках конфигурации и в бинах.Однако, если я укажу имя файла контекста приложения, используя аннотацию @ ContextConfiguration в верхней части классов JUnit, я смогу выполнить эти тестовые сценарии только один раз для указанного контекста приложения.Можно ли запускать одни и те же тестовые случаи JUnit с разными контекстами приложения?

Кроме того, мне интересно выполнить тестовые случаи один раз для каждого контекста приложения в одном и том же тестовом прогоне - mvn test.

Ответы [ 2 ]

2 голосов
/ 09 марта 2011

Поместите свой тестовый код в абстрактный класс и используйте подклассы с различными @ContextConfigurations.Смотри http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/testing.html#testing-examples-petclinic

1 голос
/ 10 марта 2011

С помощью фильтрации ресурсов Maven можно использовать файл контекста основного тестового приложения, в который входит только определенный файл контекста

например.

@ContextConfiguration("classpath:test-context.xml")

, где src/main/resources/test-context.xml:

<beans>
    <import resource="${project.test.context}" />
</beans>

Затем запустите mvn test -Dproject.test.context=context1.xml, mvn test -Dproject.test.context=context2.xml и т. Д.

Если вы сделаете это, вам также следует установить свойство maven project.test.context по умолчанию в вашем POM.

Между прочим, если это интеграционные тесты, их следует условно называть ... IT.java, а не ... Test.java, и их следует запускать в отказоустойчивом режиме (с использованием mvn verify), а не безошибочно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...