MuleSoft - Testen mit MUnit
Wir verstehen, dass Unit-Tests eine Methode sind, mit der einzelne Einheiten des Quellcodes getestet werden können, um festzustellen, ob sie für die Verwendung geeignet sind oder nicht. Java-Programmierer können das Junit-Framework verwenden, um Testfälle zu schreiben. In ähnlicher Weise verfügt MuleSoft auch über ein Framework namens MUnit, mit dem wir automatisierte Testfälle für unsere APIs und Integrationen schreiben können. Es eignet sich perfekt für eine kontinuierliche Integrations- / Bereitstellungsumgebung. Einer der größten Vorteile des MUnit-Frameworks besteht darin, dass wir es in Maven und Surefire integrieren können.
Funktionen von MUnit
Im Folgenden sind einige der sehr nützlichen Funktionen des Mule MUnit-Testframeworks aufgeführt:
Im MUnit-Framework können wir unseren Mule-Test sowohl mit Mule-Code als auch mit Java-Code erstellen.
Wir können unsere Mule-Apps und APIs entweder grafisch oder in XML in Anypoint Studio entwerfen und testen.
Mit MUnit können wir die Tests einfach in bestehende CI / CD-Prozesse integrieren.
Es bietet automatisch generierte Tests und Abdeckungsberichte. daher ist die manuelle Arbeit minimal.
Wir können auch lokale DB / FTP / Mail-Server verwenden, um das Testen durch den CI-Prozess portabler zu machen.
Es ermöglicht uns, Tests zu aktivieren oder zu deaktivieren.
Wir können das MUnit-Framework auch mit Plugins erweitern.
Es ermöglicht uns, Nachrichtenprozessoraufrufe zu überprüfen.
Mithilfe des MUnit-Testframeworks können wir Endpunktkonnektoren deaktivieren und eingehende Endpunkte fließen lassen.
Wir können Fehlerberichte mit Mule Stack Trace überprüfen.
Neueste Version des Mule MUnit Testing Framework
MUnit 2.1.4 ist die neueste Version des Mule MUnit-Testframeworks. Es erfordert folgende Hardware- und Softwareanforderungen -
- 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
Es ist kompatibel mit Mule 4.1.4 und Anypoint Studio 7.3.0.
MUnit und Anypoint Studio
Wie bereits erwähnt, ist MUnit vollständig in Anypoint Studio integriert und wir können unsere Mule-Apps und APIs in Anypoint Studio grafisch oder in XML entwerfen und testen. Mit anderen Worten, wir können die grafische Oberfläche von Anypoint Studio verwenden, um Folgendes zu tun:
- Zum Erstellen und Entwerfen von MUnit-Tests
- Für die Durchführung unserer Tests
- Zum Anzeigen der Testergebnisse sowie des Abdeckungsberichts
- Zum Debuggen der Tests
Lassen Sie uns also jede Aufgabe einzeln besprechen.
Erstellen und Entwerfen von MUnit-Tests
Sobald Sie ein neues Projekt starten, wird automatisch ein neuer Ordner hinzugefügt src/test/munitzu unserem Projekt. Zum Beispiel haben wir nämlich ein neues Mule-Projekt gestartettest_munitWie Sie im folgenden Bild sehen können, wird der oben genannte Ordner unter unserem Projekt hinzugefügt.
Sobald Sie ein neues Projekt gestartet haben, gibt es zwei grundlegende Möglichkeiten, um einen neuen MUnit-Test in Anypoint Studio zu erstellen:
By Right-Clicking the Flow - Bei dieser Methode müssen wir mit der rechten Maustaste auf den jeweiligen Ablauf klicken und MUnit aus dem Dropdown-Menü auswählen.
By Using the Wizard- Bei dieser Methode müssen wir den Assistenten zum Erstellen eines Tests verwenden. Es ermöglicht uns, einen Test für jeden Fluss im Arbeitsbereich zu erstellen.
Wir werden die Methode "Rechtsklick auf den Fluss" verwenden, um einen Test für einen bestimmten Fluss zu erstellen.
Zunächst müssen wir einen Flow im Arbeitsbereich wie folgt erstellen:
Klicken Sie nun mit der rechten Maustaste auf diesen Fluss und wählen Sie MUnit, um einen Test für diesen Fluss zu erstellen, wie unten gezeigt -
Es wird eine neue Testsuite erstellt, die nach der XML-Datei benannt ist, in der sich der Flow befindet. In diesem Fall,test_munit-test-suite ist der Name der neuen Testsuite wie unten gezeigt -
Es folgt der XML-Editor für den obigen Nachrichtenfluss -
Jetzt können wir eine hinzufügen MUnit Nachrichtenprozessor in die Testsuite, indem Sie ihn aus der Mule-Palette ziehen.
Wenn Sie einen Test über den Assistenten erstellen möchten, folgen Sie den Anweisungen File → New → MUnit und es führt Sie zu der folgenden MUnit-Testsuite -
Test konfigurieren
In Mule 4 haben wir nämlich zwei neue Abschnitte MUnit und MUnit Tools, zusammen mit allen MUnit-Nachrichtenprozessor. Sie können einen beliebigen Nachrichtenprozessor in Ihren MUnit-Testbereich ziehen. Es wird im folgenden Screenshot gezeigt -
Wenn Sie nun die Konfiguration für Ihren Anzug oder Test in Anypoint Studio bearbeiten möchten, müssen Sie die folgenden Schritte ausführen:
Step 1
Gehe zum Package Explorer und klicken Sie mit der rechten Maustaste auf .xml filefür Ihre Suite oder Test. Wählen Sie dann dieProperties.
Step 2
Jetzt müssen wir im Eigenschaftenfenster klicken Run/Debug Settings. Nach diesem KlickNew.
Step 3
Klicken Sie im letzten Schritt auf MUnit unter Select Configuration Type Fenster und klicken Sie dann auf OK.
Test ausführen
Wir können sowohl eine Testsuite als auch einen Test ausführen. Zuerst werden wir sehen, wie eine Testsuite ausgeführt wird.
Ausführen einer Testsuite
Um eine Testsuite auszuführen, klicken Sie mit der rechten Maustaste auf den leeren Teil des Mule-Canvas, in dem sich Ihre Testsuite befindet. Es öffnet sich ein Dropdown-Menü. Klicken Sie nun auf dieRun MUnit suite wie unten gezeigt -
Später können wir die Ausgabe in der Konsole sehen.
Ausführen eines Tests
Um einen bestimmten Test auszuführen, müssen wir den bestimmten Test auswählen und mit der rechten Maustaste darauf klicken. Wir erhalten das gleiche Dropdown-Menü wie beim Ausführen der Testsuite. Klicken Sie nun auf dieRun MUnit Test Option wie unten gezeigt -
Danach ist die Ausgabe in der Konsole zu sehen.
Anzeigen und Analysieren des Testergebnisses
Anypoint Studio zeigt das MUnit-Testergebnis im an MUnit tabdes linken Explorer-Bereichs. Sie können erfolgreiche Tests in grüner Farbe und fehlgeschlagene Tests in roter Farbe finden, wie unten gezeigt -
Wir können unser Testergebnis analysieren, indem wir den Abdeckungsbericht anzeigen. Das Hauptmerkmal des Abdeckungsberichts besteht darin, eine Metrik darüber bereitzustellen, wie viel einer Mule-Anwendung von einer Reihe von MUnit-Tests erfolgreich ausgeführt wurde. Die MUnit-Abdeckung basiert im Wesentlichen auf der Anzahl der ausgeführten MUnit-Nachrichtenprozessoren. Der MUnit-Abdeckungsbericht enthält Metriken für Folgendes:
- Gesamtabdeckung der Anwendung
- Ressourcenabdeckung
- Durchflussabdeckung
Um den Abdeckungsbericht zu erhalten, müssen Sie auf der Registerkarte MUnit auf "Bericht erstellen" klicken (siehe unten).
Debuggen des Tests
Wir können sowohl eine Testsuite als auch einen Test debuggen. Zunächst erfahren Sie, wie Sie eine Testsuite debuggen.
Debuggen einer Testsuite
Klicken Sie zum Debuggen einer Testsuite mit der rechten Maustaste auf den leeren Teil des Mule-Canvas, in dem sich Ihre Testsuite befindet. Es öffnet sich ein Dropdown-Menü. Klicken Sie nun auf dieDebug MUnit Suite wie im folgenden Bild gezeigt -
Dann können wir die Ausgabe in der Konsole sehen.
Debuggen eines Tests
Um einen bestimmten Test zu debuggen, müssen wir den bestimmten Test auswählen und mit der rechten Maustaste darauf klicken. Wir erhalten das gleiche Dropdown-Menü wie beim Debuggen der Testsuite. Klicken Sie nun auf dieDebug MUnit TestMöglichkeit. Es wird im folgenden Screenshot gezeigt.