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 - attribútumok a tesztobjektumhoz
- Teszt létrehozása - a tesztobjektumok konstruktora
- Tesztszerkezet - a teszt eleje és vége
- Teszt futtatása - a tesztek fő törzse
- Felhasználói beállítások - a beállítások elérése
- Teszt befejezése - egy teszt befejezetté tétele
- Teszteredmény létrehozása - teszteredmények létrehozása
- Visszavonás kezelése - mi történik, ha a felhasználó szeretné visszavonni a tesztet
- Teszt dokumentáció - további információk biztosítása a tesztről
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.