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()]));
}
}