Eigene Tests schreiben: Beispiel 1

Der folgende Quellcode ist ein Beispiel für einen Testentwurf, der statische Daten zurückgibt. Dieser Test wird hier als Beispiel für die Schnittstelle 'WMQTest' dargestellt.


/*
 * Lizenziertes Material - Eigentum der IBM
 * 
 * 63H9336
 * (c) Copyright IBM Corp. 2005, 2020. Alle Rechte vorbehalten.
 * 
 
 */


package com.ibm.mq.explorer.tests.sample;

/**
 * Beispieltest, der von einem weiteren Test in der Baumstruktur mit WMQ-Standardtests ausgeführt wird
 */
public class WMQTestSimple extends WMQTest {
  
  /*
   * (non-Javadoc)
   * 
   * @see com.ibm.mq.explorer.tests.WMQTest#runTest(com.ibm.mq.explorer.tests.internal.actions.WMQTestEngine,
   * org.eclipse.core.runtime.IProgressMonitor, com.ibm.mq.explorer.ui.extensions.MQExtObject[],
   * java.lang.String)
   */  
   public void runTest(WMQTestEngine callback, IProgressMonitor guimonitor,
      MQExtObject[] contextObjects, TreeNode treenodeId) {

    // Mit Standardimplementierung starten. Hierdurch wird eine Kennung
    // in der Testengine gespeichert, die für die Rückgabe von Ergebnissen    // am Ende des Tests benötigt wird.
    super.runTest(callback, guimonitor, contextObjects, treenodeId);

    // Speicherplatz zur Speicherung von Testergebnissen vorbereiten
    ArrayList testresults = new ArrayList();

    // Teil der grafischen Benutzerschnittstelle für die Fortschrittsleiste    // initialisieren, die den Fortschritt anzeigt (4 Stufen)
    guimonitor.beginTask(getTestName(), 4);

    // Schleife 4 Mal durchlaufen, dabei Fortschrittszähler jedes Mal um 1 erhöhen
    for (int k = 0; k < 4; k++) {
      try {
        // Ein wenig schlafen, damit es so aussieht, als würden wir arbeiten
        Thread.sleep(900);
      }
      catch (InterruptedException e) {
      }

      // Fortschrittsanzeiger der grafischen Benutzeroberfläche erhöhen, um den       // Fortschritt anzuzeigen, 1 Mal schlafen abgeschlossen
      guimonitor.worked(1);
    }

    // Neues Testergebnis erstellen und der Feldgruppen-Ergebnisliste hinzufügen
    testresults.add(new WMQTestResult(IMarker.SEVERITY_INFO, "BEISPIEL: Unser Additionstest funktioniert!", //$NON-NLS-1$
        "Objektname", getTestSubCategory())); //$NON-NLS-1$

    //  Ergebnisse zusammenfassen und zurückgeben, Test abgeschlossen
    testComplete((WMQTestResult[]) testresults.toArray(new WMQTestResult[testresults.size()]));
  }
}