Pisanie własnych testów: przykład 1

Poniższy kod źródłowy jest przykładem testu szkieletowego zwracającego dane statyczne. Poniższy test stanowi przykład interfejsu WMQTest.


/*
 * Materiały licencjonowane - własność IBM
 * 
 * 63H9336
 * (c) Copyright IBM Corp. 2005, 2020. Wszelkie prawa zastrzeżone.
 * 
 * Zastrzeżone prawa instytucji rządowych USA - Korzystanie, powielanie lub
 * ujawnianie zastrzeżone kontraktem GSA ADP Schedule Contract z
 * firmą IBM Corp.

 */


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

/**
 * Przykładowy test uruchamiany z dodatkowego testu w drzewie testów standardów WMQ
 */
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) {

    // Zacznij od domyślnej implementacji. Spowoduje to zapisanie uchwytu
    // do mechanizmu testów, który będzie potrzebny do wprowadzenia
    // wszelkich wyników na końcu testu
    super.runTest(callback, guimonitor, contextObjects, treenodeId);

    // Przygotuj przestrzeń do przechowania wyników testu
    ArrayList testresults = new ArrayList();

    // Zainicjuj część GUI stanowiącą pasek postępu używany do przedstawiania postępu (4 stopnie)
    guimonitor.beginTask(getTestName(), 4);

    // Wykonaj pętlę 4 razy, zwiększając licznik postępu o jeden za każdym razem
    for (int k = 0; k < 4; k++) {
      try {
        // Chwila uśpienia, aby wyglądało, że program coś robi
        Thread.sleep(900);
      }
      catch (InterruptedException e) {
      }

      // Zwiększ wartość na pasku postępu GUI używanym do przedstawiania postępu, completed 1 sleep
      guimonitor.worked(1);
    }

    // Utwórz nowy wynik testu i dodaj go do tablicy wyników
    testresults.add(new WMQTestResult(IMarker.SEVERITY_INFO, "SAMPLE: Our addition test worked!", //$NON-NLS-1$
        "Object name", getTestSubCategory())); //$NON-NLS-1$

    //  Utwórz pakiet zawierający wyniki i powróć - test został zakończony.
    testComplete((WMQTestResult[]) testresults.toArray(new WMQTestResult[testresults.size()]));
  }
}