2013-04-29 2 views
0

В JUnit 3 проходят испытания в одном и том же весеннем контейнере? или каждый тест получает свой собственный контейнер?В JUnit 3, Do Tests Поделитесь весенним контейнером?

Что можно сделать, чтобы не допустить, чтобы тестовые данные сгруппировали данные о «кровотечениях» в другие тесты?

+1

Обновление до JUnit 4! –

ответ

2

Я не знаю подробностей JUnit 3, но я рекомендую вам обновить до версии JUnit 4.

Теперь, если @ContextConfiguration (или @WebAppConfiguration) используется для указания используется контекст приложения, а для выполнения тестов используется SpringJUnit4ClassRunner, затем он кэшируется между тестами. Из reference docs:

После рамки TestContext загружает ApplicationContext (или WebApplicationContext) для теста, что контекст будет кэшировать и использовать повторно для всех последующих тестов, которые декларируют такую ​​же уникальную конфигурацию контекста в пределах одного набора тестов , Чтобы понять, как работает кеширование, важно понять, что имеется в виду под номером и набор тестов.

ApplicationContext может быть уникальным, идентифицированным комбинацией параметров конфигурации, которые используются для его загрузки. Следовательно, уникальная комбинация параметров конфигурации используется для генерации ключа , под которым кэшируется контекст.

Справочные документы продолжают перечислять параметры конфигурации, которые используются для создания ключа кеша контекста.

Какие данные сеанса "истекают кровью"? Используйте аннотацию @Transactional для отката любых изменений базы данных для теста, которые записываются в базу данных. Аннотацию @DirtiesContext можно использовать для воссоздания текущего контекста приложения, если он загрязнен, но обычно этого можно избежать, указав разные @ActiveProfiles. Узнайте больше о Весне integration test annotation в справочных документах.

1

Я считаю, что ответ на первый вопрос зависит от системы, выполняющей тесты. Eclipse повторно использует контекст. Maven загружает новую за тест.

Часть 2: использование @DirtiesContext

Смежные вопросы