Я хочу выполнить это. Запустите фоновый процесс (фактически экземпляр Solr), который будет использоваться всеми тестами в моем JUnit Suite.Доступ к Spring beans из Junit Suite
Для этого - Создал класс JUnit с комментариями @RunWith(Suites.class)
. И добавил ClassRule
в Suite, чтобы запустить сервер и остановить его. Индивидуальные тесты в сюите были аннотированы с @SpringApplicationConfiguration
и @RunWith(SpringJunit4ClassRunner.class)
. И я также нуждаюсь в доступе к некоторым из Бобах в самой Сюите (например, к компоненту, настроенному на весну). Каков наилучший способ сделать это. То, что я пробовал.
- Аннотированные индивидуальные тесты с
@SpringApplicationConfiguration
- Если бы Люкс создать
ApplicationContext
черезSpringApplication.run
и получить доступ к любому компоненту, что он хочет (пружинный удалось Настройки боб, например, и использовать его один из ClassRules из этого Люкс) ,
Что я заметил, что ApplicationContext
контекст будет создаваться каждый раз, один за люкс, потому что я назвал SpringApplication.run
и один для каждого теста. Я, очевидно, хочу этого избежать, и кеширование ApplicationContext
между тестовыми запусками также не работает в этом случае.
Итак, каковы наилучшие методы обработки этого случая. Любые предложения/рекомендации будут высоко оценены.
Весенние люди: любая рекомендация? –