apache-camelTests d'intégration sur des routes existantes avec Apache-Camel et Spring (et DBUnit)


Introduction

Le but de ce wiki est de vous montrer comment exécuter des tests d'intégration avec Apache Camel.

Plus précisément, vous pourrez ainsi lancer une route existante du début à la fin (avec ou sans votre base de données réelle) ou intercepter l'échange entre chaque partie de la route et vérifier si vos en-têtes ou votre corps sont corrects ou non.

Le projet sur lequel je fais cela utilise Spring classique avec la configuration de xml et DBUnit pour simuler une base de données de test. J'espère que cela vous donnera quelques pistes.

Paramètres

Paramètre / Fonction Détails
Échange L'échange est utilisé à l'intérieur du processeur camel pour transmettre des objets entre les différentes parties de votre itinéraire.
CamelContext Le contexte camel est utilisé dans le test pour démarrer et arrêter manuellement le contexte.
ProducerTemplate Vous permet d'envoyer des messages sur votre itinéraire, en définissant l'échange complet manuellement ou en envoyant des en-têtes / corps factices.
Des conseils Vous aide à redéfinir une route existante avec le contexte actuel
WeaveById Utilisé dans les conseils de configuration, indique à votre itinéraire comment se comporter (peut également utiliser weaveByToString )
MockEndpoint Le point de repère est un point que vous définissez pour votre test. Dans votre weaveById, vous pouvez indiquer votre itinéraire à son traitement habituel et aller dans un mockEnpoint plutôt que de suivre l'itinéraire habituel. De cette façon, vous pouvez vérifier le nombre de messages, l’état de l’échange…

Remarques

Certaines définitions données ici ne sont pas parfaitement exactes, mais elles vous aideront à comprendre le code ci-dessus. Voici quelques liens pour des informations plus détaillées:

Cette méthode particulière de test est assez difficile à trouver, même en cas de débordement de pile. C'est assez spécifique mais n'hésitez pas à demander plus de détails, peut-être que je pourrai vous aider.

Tests d'intégration sur des routes existantes avec Apache-Camel et Spring (et DBUnit) Exemples Liés