MuleSoft - Test avec MUnit

Nous comprenons que les tests unitaires sont une méthode par laquelle des unités individuelles de code source peuvent être testées pour déterminer si elles sont aptes à être utilisées ou non. Les programmeurs Java peuvent utiliser le framework Junit pour écrire des cas de test. De même, MuleSoft dispose également d'un framework appelé MUnit nous permettant d'écrire des cas de test automatisés pour nos API et intégrations. Il convient parfaitement à un environnement d'intégration / de déploiement continu. L'un des plus grands avantages du framework MUnit est que nous pouvons l'intégrer à Maven et Surefire.

Caractéristiques de MUnit

Voici quelques-unes des fonctionnalités très utiles du framework de test Mule MUnit -

  • Dans le framework MUnit, nous pouvons créer notre test Mule en utilisant le code Mule ainsi que le code Java.

  • Nous pouvons concevoir et tester nos applications et API Mule, graphiquement ou en XML, dans Anypoint Studio.

  • MUnit nous permet d'intégrer facilement les tests dans le processus CI / CD existant.

  • Il fournit des tests générés automatiquement et des rapports de couverture; par conséquent, le travail manuel est minime.

  • Nous pouvons également utiliser des serveurs DB / FTP / mail locaux pour rendre les tests plus portables via le processus CI.

  • Cela nous permet d'activer ou de désactiver les tests.

  • Nous pouvons également étendre le framework MUnit avec des plugins.

  • Cela nous permet de vérifier les appels du processeur de messages.

  • Avec l'aide du framework de test MUnit, nous pouvons désactiver les connecteurs de point de terminaison ainsi que les points de terminaison entrants.

  • Nous pouvons vérifier les rapports d'erreur avec la trace de pile Mule.

Dernière version de Mule MUnit Testing Framework

MUnit 2.1.4 est la dernière version du framework de test Mule MUnit. Il nécessite les exigences matérielles et logicielles suivantes -

  • MS Windows 8+
  • Apple Mac OS X 10.10+
  • Linux
  • Java 8
  • Maven 3.3.3, 3.3.9, 3.5.4, 3.6.0

Il est compatible avec Mule 4.1.4 et Anypoint Studio 7.3.0.

MUnit et Anypoint Studio

Comme indiqué, MUnit est entièrement intégré dans Anypoint studio et nous pouvons concevoir et tester nos applications et API Mule graphiquement ou en XML dans Anypoint studio. En d'autres termes, nous pouvons utiliser l'interface graphique d'Anypoint Studio pour faire ce qui suit -

  • Pour créer et concevoir des tests MUnit
  • Pour exécuter nos tests
  • Pour afficher les résultats des tests ainsi que le rapport de couverture
  • Pour déboguer les tests

Alors, commençons à discuter de chaque tâche une par une.

Création et conception de tests MUnit

Une fois que vous démarrez un nouveau projet, il ajoutera automatiquement un nouveau dossier à savoir src/test/munità notre projet. Par exemple, nous avons lancé un nouveau projet Mule à savoirtest_munit, vous pouvez voir dans l'image ci-dessous, il ajoute le dossier mentionné ci-dessus sous notre projet.

Maintenant, une fois que vous avez commencé un nouveau projet, il existe deux méthodes de base pour créer un nouveau test MUnit dans Anypoint Studio -

  • By Right-Clicking the Flow - Dans cette méthode, nous devons cliquer avec le bouton droit sur le flux spécifique et sélectionner MUnit dans le menu déroulant.

  • By Using the Wizard- Dans cette méthode, nous devons utiliser l'assistant pour créer un test. Cela nous permet de créer un test pour n'importe quel flux dans l'espace de travail.

Nous allons utiliser la méthode «Cliquez avec le bouton droit sur le flux» pour créer un test pour un flux spécifique.

Tout d'abord, nous devons créer un flux dans l'espace de travail comme suit -

Maintenant, faites un clic droit sur ce flux et sélectionnez MUnit pour créer un test pour ce flux, comme indiqué ci-dessous -

Il créera une nouvelle suite de tests nommée d'après le fichier XML où réside le flux. Dans ce cas,test_munit-test-suite est le nom de la nouvelle suite de tests comme indiqué ci-dessous -

Voici l'éditeur XML pour le flux de messages ci-dessus -

Maintenant, nous pouvons ajouter un MUnit le processeur de messages vers la suite de tests en le faisant glisser depuis Mule Palette.

Si vous souhaitez créer un test via l'assistant, suivez File → New → MUnit et cela vous mènera à la suite de tests MUnit suivante -

Configurer le test

Dans Mule 4, nous avons deux nouvelles sections à savoir MUnit et MUnit Tools, ayant collectivement tous les processeurs de messages MUnit. Vous pouvez faire glisser n'importe quel processeur de messages dans votre zone de test MUnit. Il est montré dans la capture d'écran ci-dessous -

Maintenant, si vous souhaitez modifier la configuration de votre combinaison ou tester dans Anypoint Studio, vous devez suivre les étapes ci-dessous -

Step 1

Aller au Package Explorer et faites un clic droit sur le .xml filepour votre suite ou test. Ensuite, sélectionnez leProperties.

Step 2

Maintenant, dans la fenêtre Propriétés, nous devons cliquer sur Run/Debug Settings. Après ce clicNew.

Step 3

Dans la dernière étape, cliquez sur MUnit en dessous de Select Configuration Type fenêtre, puis cliquez sur OK.

Exécution du test

Nous pouvons exécuter une suite de tests ainsi qu'un test. Tout d'abord, nous verrons comment exécuter une suite de tests.

Exécution d'une suite de tests

Pour exécuter une suite de tests, cliquez avec le bouton droit de la souris sur la partie vide du Mule Canvas où réside votre suite de tests. Cela ouvrira un menu déroulant. Maintenant, cliquez sur leRun MUnit suite comme indiqué ci-dessous -

Plus tard, nous pouvons voir la sortie dans la console.

Exécution d'un test

Pour exécuter un test spécifique, nous devons sélectionner le test spécifique et faire un clic droit dessus. Nous obtiendrons le même menu déroulant que lors de l'exécution de la suite de tests. Maintenant, cliquez sur leRun MUnit Test option comme indiqué ci-dessous -

Là après la sortie peut être vue dans la console.

Affichage et analyse des résultats du test

Anypoint studio affiche le résultat du test MUnit dans le MUnit tabdu volet d'exploration de gauche. Vous pouvez trouver des tests réussis en vert et des tests échoués en rouge comme indiqué ci-dessous -

Nous pouvons analyser notre résultat de test en consultant le rapport de couverture. La principale caractéristique de Coverage Report est de fournir une métrique sur la mesure dans laquelle une application Mule a été exécutée avec succès par un ensemble de tests MUnit. La couverture MUnit est essentiellement basée sur la quantité de processeurs de messages MUnit exécutés. Le rapport de couverture MUnit fournit des métriques pour les éléments suivants:

  • Couverture globale de l'application
  • Couverture des ressources
  • Couverture de flux

Pour obtenir le rapport de couverture, nous devons cliquer sur `` Générer un rapport '' sous l'onglet MUnit comme indiqué ci-dessous -

Débogage du test

Nous pouvons déboguer une suite de tests ainsi qu'un test. Tout d'abord, nous verrons comment déboguer une suite de tests.

Débogage d'une suite de tests

Pour déboguer une suite de tests, faites un clic droit sur la partie vide du Mule Canvas où réside votre suite de tests. Cela ouvrira un menu déroulant. Maintenant, cliquez sur leDebug MUnit Suite comme indiqué dans l'image ci-dessous -

Ensuite, nous pouvons voir la sortie dans la console.

Débogage d'un test

Pour déboguer un test spécifique, nous devons sélectionner le test spécifique et faire un clic droit dessus. Nous obtiendrons le même menu déroulant que lors du débogage de la suite de tests. Maintenant, cliquez sur leDebug MUnit Testoption. Il est illustré dans la capture d'écran ci-dessous.