2017-02-15 17 views
1

У меня есть приложение Spring Rest, созданное с использованием Spring Boot framework. Теперь, когда я писал тест интеграции Spring, я хотел исключить класс из того, чтобы получить компонент scanned.my. Этот класс содержит зависимость для Apache Kafka. Если этот класс загружается при запуске контейнера, он начинает поиск экземпляров Kafka.Исключить конкретный класс из теста Spring Component. Проверка интеграции

поэтому во время работы Интеграционный тест Я не буду запускать свой сервер Kafka, поэтому я хотел запустить Интеграционный тест, делающий остановку Kafka.

всякая помощь приветствуется.

+0

вы можете задать конфигурацию для теста отдельно, насмешливый услуг или тестирование вашего приложения с помощью срезов: https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4 –

ответ

0

Самый простой способ сделать это - использовать профили. В фасоли, что вы только хотите, чтобы быть видимыми испытываемого Интеграция добавить:

@Profile("integration=test") 

В верхней части интеграционного теста, активировать профиль:

@ActiveProfile("integration-test") 

Есть бобы, которые не указать профиль (все остальные компоненты) будут присутствовать как в тестовых, так и по умолчанию. По умолчанию это имя профиля, если не указано ни одного.

+0

http://stackoverflow.com/questions/42245236/exclude- a-specific-class-from-spring-component-scan-while-writing-spring-integer –

0

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

@SpringBootApplication(exclude = CafkaConfiguration.class) 
public class IntegrationTestConfig { 
} 

С другой мысли вы можете убедиться издеваться Кафки

How can I instanciate a Mock Kafka Topic for junit tests?

+0

вы можете ссылаться на эту ссылку. Я задал этот вопрос, предоставив больше Информация. http://stackoverflow.com/questions/42245236/exclude-a-particular-class-from-spring-component-scan-while-writing-spring-integ –

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

  • Нет связанных вопросов^_^