2017-02-15 1 views
1

J'ai une application Spring Rest créée à l'aide de Spring Boot. Maintenant que j'écrivais Spring Integration Test, je voulais exclure une classe d'un composant get scanned.my. Cette classe contient la dépendance pour Apache Kafka. Si cette classe se charge pendant le démarrage du conteneur, commencez à rechercher les instances en cours d'exécution de Kafka. Par conséquent, lors de l'exécution du test d'intégration, je ne démarre pas mon serveur Kafka, donc j'ai voulu exécuter le test d'intégration .Exclure une classe particulière de Spring Component scan Test d'intégration

toute aide est appréciée.

+0

vous pouvez spécifier la configuration pour le test séparément, se moquant des services ou tester votre application par tranches: https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4 –

Répondre

0

La méthode la plus simple consiste à utiliser des profils. Dans le haricot que vous voulez seulement être visible à l'ajout de test intergration: Au sommet du test d'intégration

@Profile("integration=test") 

, activer le profil:

@ActiveProfile("integration-test") 

Les haricots qui ne précisent pas de profil (tous les autres beans) seront présents dans les profils de test et par défaut. Par défaut est le nom du profil si aucun n'est donné.

+0

http://stackoverflow.com/questions/42245236/exclude- un-particulier-classe-de-printemps-composant-scan-en-écriture-printemps-integ –

0

Vous pouvez exclure la configuration cafka de votre configuration de test. Vous avez partagé votre code, mais ce serait quelque chose comme ça

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

autre pensée que vous pouvez vous moquer de la kafka

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

+0

pouvez-vous pls se référer ce lien .. Je suis posé cette question en fournissant plus information. http://stackoverflow.com/questions/42245236/exclude-a-particular-class-from-spring-component-scan-while-writing-spring-integ –