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».

Unit tesztek Delphi vagy fejlesztés tesztelés

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>».

Unit tesztek Delphi vagy fejlesztés tesztelés

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.

Unit tesztek Delphi vagy fejlesztés tesztelés

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:

Unit tesztek Delphi vagy fejlesztés tesztelés

Unit tesztek Delphi vagy fejlesztés tesztelés

        • 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».

Unit tesztek Delphi vagy fejlesztés tesztelé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á.

Unit tesztek Delphi vagy fejlesztés tesztelés

É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.

Unit tesztek Delphi vagy fejlesztés tesztelés

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.

Unit tesztek Delphi vagy fejlesztés tesztelés

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.

Unit tesztek Delphi vagy fejlesztés tesztelés

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.