Unit tesztek Delphi vagy fejlesztés tesztelés
Test Driven Development Delphi készült integrált eszköz Dunit. Ebben a cikkben megnézzük, hogyan lehet létrehozni a Delphi kísérleti projekteket, hogyan lehet létrehozni unit tesztek, és hogyan kell tesztelni.
Tehát először beszéljünk arról, hogy mi Dunit. Dunit - tesztel eszköz, nyílt forráskódú alapján JUnit. Ő áll a Delphi és C ++.
Ebben a cikkben nem fogok belemenni az elmélet, hanem csak megmutatni, hogyan kell használni az eszközt Dunit Delphi. Feltételezzük, hogy az olvasó tudja, milyen fejlesztési vizsgálatok elvégzésével.
Létrehozása egy teszt projekt
A teszt projekt egy vagy több teszt esetek, amelyekhez a hagyományos .pas fájlokat, és elérhető lesz az IDE a Project Manager eszköztár. Ugyancsak RAD Studio rendelkezik, akkor a varázsló «Tesztprojekt Wizard» teszt projektet. Javasoljuk, hogy hozzon létre két külön projektek: egy teszt, és a második tesztelő. Tehát nem kell törölni a jövőbeli vizsgálatok a kitöltött kérelmet.
Nézzük először hozzon létre egy projektet, hogy próbára. Tegyük fel, hogy ez egy ablaktábla VCL alkalmazás. Válassza ki a menüpont «File -> New -> VCL Forms Application - Delphi». Létrehoz egy projektet megtakarítás.
Miután létrehozott egy teszt projektet, hozzon létre egy teszt projektet. Ehhez válassza ki a menüpont «File -> New -> Egyéb. ”Akkor«Új tételek»párbeszédablakban válassza ki a«Unit Test -> Test Project»és kattintson az«OK».
Az első lépésben a varázsló «Tesztprojekt Wizard» a «Source Project», akkor adja meg a teszt projekt, ha több. A «projekt neve» és a területen «Térkép» jelzi a nevét és helyét a vizsgált projekt. A «Személyisége» kiválasztott programozási nyelv (esetünkben - a Delphi). Mindezek a mezők automatikusan kitöltésre, ami illik hozzánk. Tick «Hozzáadás projekthez csoport» elhagyni a projekt hozzá az aktuális projekt csoport. Kattintson a «Tovább>».
kiválaszthatja a következő lépést, mint egy teszt (mezőjének «Test Runner») kerül sor: az ablak ( «GUI») vagy a konzol ( «konzol»). Hagyjuk itt az alapértelmezett beállítás - «GUI». A «Test Framework» mező határozza meg a vizsgálati eszközöket. Változás ezen a területen nem lehet semmit, mert Delphi és C ++ támogatja csak eszköz Dunit. Kattintson «Befejezés», és látni fogja, hogy egy új, üres teszt projekt a projekt-csoport.
Teszt esetek és teszt
Egy tipikus teszt projektet az egyes vizsgálati osztály egy vizsgálati osztály, de ez nem kötelező. A teszter osztály is csatlakozik a teszt. Jellemzően a teszter osztály egy sor egy vagy több módszert, amelyek megfelelnek egy vagy több eljárás az osztály tesztelnek. Az egyik vizsgálat a projekt néhány teszteket lehet benne. Fuss minden teszt és vizsgálati projekt automatizálható a segítségével bat-fájl vagy a projekt szkriptet.
Általában azt javasoljuk, hogy hozzon létre egy külön teszt projekt (eltekintve a vizsgált projekt). Tehát akkor nem kell eltávolítani a teszteket megelőzően a projekt végleges összeszerelése a projekt.
RAD Studio biztosítja az Ön számára egy varázsló «Test Case Wizard», hogy segítse a létrehozását teszt esetek szabhatja tetszés szerint.
Mielőtt a teszt, nézzük meg, mit fogunk tesztelni. A teszt projekt Project1. létrehoztunk egy űrlapot. Nézzük meg most, és teszteli. Tegyük fel, hogy mi formában lesz sorban összehasonlítani két szöveges fájlok, és megjeleníti a különbségeket vonalon. Mi lesz összehasonlítani két módja van: adott nyilvántartás és érzéketlen. A teszt kód do elemi fogjuk összehasonlítani a húr azonos indexszel.
Tehát formájában fel két szövegdobozok és két TButton TRichEdit gombra. Ezután feldolgozni az eseményeket billentyűk és hozzáfűzi a kódot az alábbiak szerint:
Mint látható, kattintson a gomb hatására két Összehasonlítás és ShowDifferences eljárást. Az első eljárás összehasonlítani a két szöveg és tárolja indexek az adatok vonalak differentStrings listán. és a második eljárás alapja a listán árnyalat különböző vonalakon piros. Összehasonlítás Az eljárást fogják továbbítani ignorecase paraméter meghatározza, hogyan karakterlánc összehasonlításokat. Míg a végrehajtás a Összehasonlítás funkció nem fog, és azonnal, hogy egy tesztet is.
Ahhoz, hogy hozzon létre egy teszt, hogy nem a következő lépéseket:
-
-
-
- A következő lépés adja a vizsgált projekt az «Test Project», egy teszt a fájl nevét a «Fájlnév», vizsgálati eszközök a «Test Framework» mezőben (ez a mező nem aktív, mert csak a támogatott Dunit) és az alap osztály terén «Base osztály». Az alap osztály TTestCase alkalmas a legtöbb esetben, de akkor a saját kategóriájában. A példánkban nem fogunk változtatni semmit. Kattintson «Befejezés».
-
-
Akkor látni fogja, hogy a vizsgált projekt megjelent «TestUnit1.pas» fájlt ugyanabban a vizsgálati egység «Unit1.pas» projekt hozzá.
És ez az, amit látni fogod TestUnit1.pas file:
Mint látható, van tett üres a vizsgálati osztály TestTForm1. TTestCase osztálytól örökölt. Az inicializálási szakaszban van regisztrálva ebben az osztályban.
A beállítási módszert, van előkészítő tesztelésre. Itt kell létrehozni vizsgálati osztály és készítsen minden, ami szükséges a vizsgálat, például csatlakozni egy távoli szerverhez, vagy egy adatbázis, stb Mellesleg kódot generál a hibás űrlap tervező kell venni egy bemeneti paramétere. Helyes kódsort létrehozását formák az alábbiak szerint:
TEARDOWN módszer az úgynevezett végén a vizsgálat, és itt meg kell, hogy kiadja az összes erőforrás és törölje az összes létrehozott objektumok. Itt a generált kód, meg vagyunk elégedve.
TestCompare módszer létre, csak hogy kipróbálja a módszer összehasonlítása. Mint látható, itt hívjuk a módszer összehasonlítása. de nincs ellenőrzés. Nézzük hozzá itt a szöveg mezőben ugyanazt a szöveget, hívja a Összehasonlítás módszer, és a vizsgálati eredményeket.
Akkor fut a teszt Project1Tests.exe projekt. Ehhez az legyen az aktív (kattintson duplán a projekt az ablakban «Project Manager»), majd indítsa el a végrehajtás (erre válasszuk «Run -> Futtatás» menüből, vagy nyomja meg az F9). Miután a dob ablak jelenik meg előtted, amint az az alábbi képen.
Futtatni teszteket, válassza ki a menü «Műveletek -> Futtatás». Ha van sok teszt, és el kell végezni csak egy részük, akkor tegye le a kullancs mellett a szükséges vizsgálatokat, majd hívja a menü «Műveletek -> Futtatás kiválasztott vizsgálati». Miután a vizsgálat elvégzése, látni fogja a hibát. Ez normális, mert amíg mi összehasonlítása funkció nem írt és nem csinál semmit le. Ha rákattint a hiba, akkor a részleteket lásd az alsó mezőben.
Most pedig nézzük a hibák kijavítását, hogy a teszt sikeres volt. Töltse ki az összehasonlító függvényt az alábbiak szerint:
A vizsgálati módszer, hogy adjunk vizsgálatok a különböző összehasonlítási lehetőségek:
Most teszteljük a funkció összehasonlítása. Mint látható, minden rendben van, nincs hiba.
Ezen kívül CheckEquals módszer áll rendelkezésére, vannak más módszerek, hogy ellenőrizze az eredményeket. Itt van az alapvető módszereket, amire szükség lehet:
-
-
-
- Csekk - ellenőrzi a teljesítését a feltétel, és kivételt dob, ha a feltétel nem teljesül.
- CheckEquals - ellenőrizze az egyenlő két értéket, és kivételt dob, ha az értékek nem egyenlő.
- CheckNotEquals - ellenőrzi a két érték az egyenlőtlenség és a kivételt dob, ha az érték egyenlő.
- CheckNotNull - ellenőrzi mutatót „nem nulla» és egy kivételt dob, ha a mutató értéke nulla.
- CheckNull - ellenőrzi a mutató nulla, és dob egy kivételt, ha a mutató nem egyenlő nulla.
- CheckSame - ellenőrzi az egyenlő mutató objektumok és kivételt dob, ha a tünetek nem egyenlő.
- Fail - csak ETestFailure kivételt dob a kívánt szöveget.
-
-
Tesztelés saját módszerei
Szeretnénk megmutatni, hogyan kell tesztelni saját módszereket. Hívni a saját módszerek Delphi fogjuk használni RTTI (Run-Time Type Information).
Teszt kód változás következik, nem feledve, hogy adjunk egy egységet a uses System.Rtti:
Hasonlóképpen, az egyik tesztelheti saját tulajdonságait. $ Irányelv fog kinézni az RTTI idő az alábbiak szerint:
Tehát a cikk megtanultuk, hogyan hajtsák végre fejlődésének támogatása tesztelésével Delphi. nevezetesen, hogyan lehet létrehozni egy teszt projektet, hogyan lehet létrehozni és a vizsgálati, hogyan teszteljük saját módszereket.