WMQTest felület

Az IBM® MQ Explorer programhoz írt teszteknek egy Java™ osztályhoz kell tartozniuk, amely kiterjeszti a biztosított WMQTest osztályt. Ez a témakör elmagyarázza a felületet és a biztosított módszerek működését.

Teszt attribútumok

Az attribútumok gyűjteményével meghatározhat egy tesztet a bedolgozó leírófájlban (plugin.xml). Az alábbi táblázat a tesztekhez tartozó attribútumokat tartalmazza.

Attribútum Leírás
azonosító Egy karaktersorozat, amely egy egyedi azonosítót biztosít a teszt számára.
név A teszt értelmes neve.
osztály A teszt forráskódját tartalmazó Java osztály neve.
tesztkészlet Egy karaktersorozat, amely meghatározza a csoportot, amelyben a tesztnek megjelenítésre kell kerülnie; például wmq, amely a tesztet a Sorkezelő tesztek kategóriában jeleníti meg.
teszt alkészlet Egy karaktersorozat, amely meghatározza, hogy a teszt melyik alcsoportban kerüljön megjelenítésre; például sorok, amely a tesztet a Sorok kategóriában jeleníti meg.
leírás Egy rövid leírás arról, hogy mit csinál a teszt.
további információk Egy HTML vagy XHTML dokumentum helye, amely további információkat tartalmaz a tesztről. Ez a dokumentum jelenik meg az IBM MQ Explorer alkalmazásban, amikor duplán kattint a tesztre a Teszt futtatása párbeszédablakban, vagy egy teszteredményre a Teszteredmények nézetben.

Ezeknek az attribútumoknak az értékeit a plugin.xml fájlban adja meg a teszt meghatározásához. Ezek az attribútumok programon keresztül is hozzáférhetőek az alábbi táblázatban listázott WMQTest metódusokkal.

Metódus Leírás
getTestID() A teszt azonosítóját adja vissza.
getTestName() A teszt nevét adja vissza.
getDescription() A teszt leírását adja vissza.
getTestSet() Egy azonosítót küld vissza a tesztkészlet objektumnak, amely azért került létrehozásra, hogy a teszt szülője legyen.
getFurtherInfoPath() Az XHTML vagy HTML dokumentum helyét adja vissza, amely további információkat tartalmaz a tesztről.

Teszt létrehozása

Az IBM MQ Explorer Tesztek alrendszer a tesztobjektumot a biztosított WMQTest() konstruktorral példányosítja. Nincs szükség ennek a konstruktornak a továbbszármaztatására.

Tesztszerkezet

A runTest WMQTest metódus meghatározza a teszt törzsét, és meghívásra kerül a teszt futtatásának elindításához.

A runTest metódus vége nem foglalja magában a teszt végét; a teszt végét határozottan meg kell adnia a testComplete metódus segítségével. A teszteket megvalósíthatja úgy, hogy az objektumadatokat aszinkron módon kapják meg.

A runTest metódus elküld egy kérést, hogy adatokat kapjon az objektumokról, és a teszt a figyelő metódusról fut, amely megkapta a választ. Ez lehetővé teszi a teszt számára, hogy adatokra várjon anélkül, hogy szál várakoztatást kellene megvalósítania; ez bemutatásra kerül a 3. mintában.

Ha egy teszt részeként kézi várakoztatásra (sleep) van szükség, akkor használhatja a tesztobjektum objektumfigyelőjét a Java wait és notify metódusainak használatához. A teszt alrendszer szálkezelése az egyéni tesztobjektumok objektumfigyelőinek használata nélkül kerül megvalósításra.

Teszt futtatása

Az IBM MQ Explorer Teszt alrendszer a teszt futtatásának indításához a runTest(WMQTestEngine, IProgressMonitor,contextObjects, treeNode) metódust hívja meg. A teszt fő törzsének itt kell lennie.

WMQTestEngine
A WMQTestEngine paraméter egy azonosítót biztosít a tesztet futtató teszt-alrendszer számára.

Ez lehetővé teszi a tesztek számára az eredmények visszaküldését, miközben a teszt folyamatban van, a teszt-alrendszer returnResult(WMQTestResult[], WMQTest) metódusa segítségével.

Az első paraméter ebben a metódusban (WMQTestResult[]) a visszaküldendő eredményeket tartalmazza, és a második paraméternek (WMQTest) 'ez' értékűnek kell lennie, hogy a teszt-alrendszer tudja, hogy honnan jöttek az eredmények. A WMQTestEngine paraméter használata köztes eredmények visszaadására nem kötelező - alternatív megoldásként a teszteredményeket a rendszer a teszt befejezésekor visszaadja (lásd: A teszt befejezése).

IProgressMonitor
Az IProgressMonitor paraméter egy azonosítót biztosít az aktuális tesztfuttatáshoz használt grafikus felület visszajelzési megfigyelőjének. Ez lehetővé teszi a teszt számára, hogy szöveges visszajelzést biztosítson a pillanatnyilag futó feladatokról és alfeladatokról, és egy folyamatjelzőt az aktuális befejezéshez.

A Folyamatfigyelő azonosítóját a runTest alapértelmezett megvalósítása tárolja ideiglenes, így ha ezt használta, akkor a Folyamatfigyelő azonosítójához is hozzáférhet a getGUIMonitor() WMQTest metódus alkalmazásával.

A Folyamatfigyelő egy központi Eclipse erőforrás. A használatával kapcsolatos további tanácsokért tekintse meg az Eclipse API dokumentációt a weben.

contextObjects
A contextObjects paraméter egy MQExtObject tömböt biztosít. A paraméter biztosítja a futtatandó teszt kontextusát, hogy az érintett jelölőnégyzetek előre kiválasztottak legyenek, amikor a felhasználó megnyitja a Tesztek futtatása párbeszédablakot.
treeNode
A treeNode paraméter rögzíti, hogy a Navigátor nézetben melyik mappára vagy objektumra kattintott az alapértelmezett tesztek futtatásához vagy a Tesztek futtatása párbeszédablak megnyitásához.

Felhasználói beállítások

A teszteknek meg kell felelniük az Eclipse beállítások párbeszédablakban megadott felhasználói beállításoknak. A beállítások eléréséhez használja az alábbi metódusokat:

  • PreferenceStoreManager.getIncludeHiddenQmgrsPreference() amely true értéket ad vissza, ha az IBM MQ Explorer programban elrejtett sorkezelőket vesz fel a tesztbe, illetve false értéket ad vissza, ha ezeket ki kell zárni.
  • PreferenceStoreManager.getIncludeSysObjsPreference(), amely true értéket ad vissza, ha a rendszerobjektumokat (azok az objektumok, amelyek neve SYSTEM. kifejezéssel kezdődik) bele kell foglalni a tesztbe, vagy false értéket, ha azokat ki kell zárni.

Teszt befejezése

Fejezze be a tesztet a testComplete(WMQTestResult[]) meghívásával, átadva ennek a teszteredmény objektumok egy tömbjét. A teszteredmény objektumokkal kapcsolatos segítségért lásd: Teszteredmény létrehozása.

Ezzel a módszerrel kaphat vissza eredményeket a befejezéskor, a teszteredmények tesztfuttatás által megvalósuló visszaadása mellett, vagy annak alternatívájaként (a Teszt futtatása részben leírtak szerint). Azonban a kétszer visszaküldött eredményen kétszer kerülnek megjelenítésre.

Még ha a teszt a returnResult WMQTestEngine metódust is használja az összes eredménye visszaküldéséhez, a befejezéskor akkor is meg kell hívnia a testComplete metódust. Ez szükséges a teszt feldolgozás befejezéséhez. Ha nincsenek új visszaküldendő eredmények, akkor megadhatja az WMQTestResult objektumok egy üres tömbjét a testComplete metódusban.

További információkért tekintse meg a Tesztszerkezet részt.

Teszteredmény létrehozása

A teszteredmények WMQTestResult objektumokként kerülnek megvalósításra. Hozza létre az eredményeket a következő használatával:

WMQTestResult(int severity, String description, String qmgrname, String objectType)

ahol:

  • a severity a probléma súlyosságát azonosító egész szám. Használja az alábbi súlyossági szintek valamelyikét: IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING vagy IMarker.SEVERITY_INFO
  • A description argumentum a Problémák nézetben megjelenő, a teszt által talált problémát magyarázó karaktersorozat.
  • A qmgrname argumentum a sorkezelő neve, amelyben a teszt problémát találta.
  • Az objectType argumentum a problémát okozó objektum osztályát megadó karaktersorozat (például "Queues" vagy "Channels").

Arról, hogy mihez kezdhet a teszteredmény objektummal annak létrehozása után, további információkért lásd: Teszt befejezése.

Visszavonás kezelése

A teszt futtatása visszavonható a teszt futása alatt. Használja az isCancelled() metódust annak ellenőrzésére, hogy a tesztnek le kell-e állnia.

A jó tesztnek rendszeresen ellenőriznie kell, hogy nem került-e visszavonásra, ezzel elkerülve a felhasználó szükségtelen késleltetését.

Ha a tesztet megpróbálja visszavonni, de a tesztnek hosszabb ideig nem sikerül válaszolnia, akkor a teszt alrendszer a tesztet futtató szál megszüntetésével kényszeríti a tesztet a leállásra. Erre a metódusra azonban ne hagyatkozzon, előnyösebb, ha a teszt időben válaszol, lehetővé téve, hogy a teszt a használt erőforrásokat feltakarítsa és visszaküldje az addig is előállított teszteredményeket.

Tesztdokumentáció

Biztosíthat kiegészítő dokumentációt a visszaküldött eredmények magyarázatára, és segítségnyújtásként a probléma megoldásához szükséges teendőket illetően.

A dokumentációt HTML formátumban, a tesztet biztosító bedolgozó plugin.xml fájljában azonosított helyen adja meg. Tesztek XML fájlban való meghatározásáról részletekért lásd: Új teszt létrehozása.

A dokumentációs HTML fájl helye lehet:

  • belső - A tesztet biztosító bedolgozó projektben tárolva. A helyet az XML fájlban magához a plugin.xml fájlhoz viszonyítva kell megadni. Például: doc/TestDoc.html
  • külső - Webkiszolgálón tárolva, amely lehetővé teszi a dokumentáció karbantartását a teszttől külön. A helyet teljes URL címként kell megadni, a 'http://' karaktersorozattal kezdve.