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 agetGUIMonitor()
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()
amelytrue
értéket ad vissza, ha az IBM MQ Explorer programban elrejtett sorkezelőket vesz fel a tesztbe, illetvefalse
értéket ad vissza, ha ezeket ki kell zárni.PreferenceStoreManager.getIncludeSysObjsPreference()
, amelytrue
értéket ad vissza, ha a rendszerobjektumokat (azok az objektumok, amelyek neve SYSTEM. kifejezéssel kezdődik) bele kell foglalni a tesztbe, vagyfalse
é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
vagyIMarker.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.