Junit az javarush vagy kis tesztelés otthon

JUnit az JavaRush vagy egy kicsit a tesztet otthon.

Unod már tucatszor vezetni a konzol vizsgálati adatok, hogy teszteljék a probléma? Üdvözöljük a macska, én megmondom, mit tehet róla.

A végső cél az anyagot indít automatizálás megoldandó probléma a különböző paraméterek és vizsgálati eredmények módosítása nélkül a forráskódot. Ahogy már bizonyára kitalálta a cím, a fő eszköze ebben az esetben igen egyszerű JUnit.

Ha még nem hallott az egység tesztelése és unit tesztek. Azt javaslom, hogy egy kicsit szétszórt és önálló megértése ezeket a fogalmakat, az előny online információ is elég. Nem, nem akarom, hogy? Nos, azt hiszem, egy nagy probléma megértéséhez, hogy mi történik, hogy nem. Elvégre, ha tudjuk, mi a teszt és vizsgálat egyáltalán? Ezt minden alkalommal futtatja a feladatot, adja meg a kezdeti adatokat, és összehasonlítja a kapott eredmény, hogy várható, hogy látni.

Helló, világ JUnit!


Mi JUnit? Most olvasd el ezt a leírást a projekt of.sayte:
JUnit egy egyszerű keret levelet vizsgálat megismételhető. Ez az a része a xUnit építészeti egység tesztelése keretek között.
Számunkra ez azt jelenti, hogy képes levelet speciálisan tervezett osztályok, módszerek, amelyek kölcsönhatásba lépnek a program ellenőrzi a kapott eredmény a referencia, és értesíteni bennünket, ha azok nem felelnek meg.

vegyünk egy egyszerű példát, hogy megértsék az elvet.
Tegyük fel, hogy van egy segítő osztály, egy eljárás, amely úgy két változó int típusú, és visszaadja az összeget:

Junit az javarush vagy kis tesztelés otthon

Miután megadta, hogy hol hozza létre a teszt áll, az IDEA ajánlatot válasszuk teszt könyvtár (ez az anyag azt használja JUnit4, hogy a könyvtár osztályok kerültek a projekthez kapcsolódó, rá kell kattintani «Fix»), a vizsgálati módszereket és lehetőségeket.

Junit az javarush vagy kis tesztelés otthon

Az IDE létrehozza a vizsgálati osztály sablon:
ClassName = imyaTestiruemogoKlassa + «teszt»
methodName = «teszt» + ImyaTestiruemogoMetoda

Junit az javarush vagy kis tesztelés otthon

Csak akkor tudjuk tölteni az eljárás szervezetben. Ez segít az úgynevezett «állítások \ kimutatások”. Módszerek által nyújtott JUnit. Egyszerűsített munkájukat a következő: a módszer .assert * továbbított a várt eredményt, és az eredmény a vizsgálati módszer hívást, az egyszerűség kedvéért, az első paraméter, akkor adjunk hozzá egy magyarázó üzenetet. Ha a beállítások nem felelnek meg a vizsgálat során, akkor tájékoztatni kell róla. Fuss egy vizsgálati osztály a teljesítményt, akkor olyan, mint egy normál osztályban, én szívesebben használják a Ctrl + Shift + F10

Junit az javarush vagy kis tesztelés otthon

konkretizálják a probléma


Elméletileg, minden egyszerű és szép, de az összefüggésben a javasolt példák nem is igazán kell hozzá két szám, bízhatunk a számítógépet. Mi jobban érdekli, hogy a dolgok voltak a valós problémákat megoldani diákok JavaRush például azt javaslom, hogy egy forró kedvenc level05.lesson12.bonus03.
/ * A feladat az algoritmusok
Készítsünk programot, amely:
1. belép a konzol számát N> 0
2. ezután bevezeti az N szám a konzolból
3 megjeleníti a legnagyobb számban N bemeneti.
* /
Meg kell írni három vizsgálat pozitív, negatív számok és vegyes.

A beljebb az erdőben.


Itt van, és elvárják, néhány meglepetés:

  • A logikai programban található módszer main ()
  • Az alapadatokat továbbítja az eljárás során, és be a billentyűzetről.
  • main () metódus nem ad vissza eredményt, és kiadja azt a konzolt.

Ha az első pont nem különösen problematikus, és (tudjuk hívni a main () metódus a szokásos módon), a következő két kénytelenek ásni a témában, és feszülten gyrus. Találtam több módon lehet megoldani a problémát:
  1. Kivetése logikája maximális tartózkodási külön eljárás.
    • Előnyök: A helyes megközelítés abból a szempontból refactoring
    • Hátrányok: A program szerez kód redundáns struktúrák, legalábbis hozzá egy tömb vagy ArrayList (az íze és színe.). Tesztelt egyetlen mechanizmus maximális megállapítás, bemenet kimenet, nem vizsgálják.
  2. Írás-burkoló wrapper'ov System.in/System.out.
    • Előnyök: Ne használja a harmadik fél könyvtárak.
    • Hátrányok: Az útvonal nem kezdőknek. A viszonylagos összetettségét végrehajtása a teszt, az összeg a kódot a teszt lehet több, mint a vizsgálati feladat.
  3. A használat további könyvtárak a teszteket.
    • Előnyök: Tiszta kód a vizsgálatokat, a viszonylagos egyszerűsége az írás teszt. Ez nem változtat a forráskód az osztály tesztelnek.
    • Hátrányok: kell csatlakozni egy harmadik fél könyvtári projekt.

Őszintén szólva, a harmadik lehetőség tetszett a legjobban, ez az, és próbálja megvalósítani.
A rendszer szabályai

Elindítása után a feladatunk bekéri a konzol N + 1 szám, ahol az első szám azt jelzi, hogy hány számot fogja követni. A rendszer szabályai e szempontból TextFromStandardInputStream osztály, kezdetben mi kell hozzá, hogy a vizsgálati osztály területén ez a fajta magyarázat, és jelölje meg @Rule:

Ezután közvetlenül a vizsgálati módszer jelezze a szükséges adatok:


Mint látható, a számok kerülnek továbbításra szöveges formában, elválasztva a sortörés jel „\ n”. Ennek alapján kiderül, hogy mi lesz az N = 4, és a keresést a legnagyobb a számok azt.

Ezután létre kell hozni egy példányt a vizsgálati osztály, és hívja a main () metódust. A program figyelembe veszi az adatokat systemInMock, feldolgozására, és nyomtassa ki az eredményt, csak akkor tudjuk feltételezni azt, és hasonlítsuk össze a szabvány. Erre a célra a szabályokat biztosít számunkra StandardOutputStreamLog osztályban.
Hozzáadása az említett területen típusok:

Tovább adatok nyomtathatók keresztül .getLog () metódus, így szükség van, hogy vegye figyelembe a jelenléte egy újsor karaktert, a végső változatok a következők lehetnek:

Két vizsgálatok elkerülése érdekében adatrétegekre kell tisztítani log


A teljes szöveg az én vizsgálati osztály:

Fuss és élvezni.

Ezt az anyagot csupán tájékoztató jellegűek, nem garantálja sikeres a tesztfeladatok a szerver esetén egy idegen osztály a csomagot a feladat. Mielőtt a feladat, hogy ellenőrizze a kiszolgáló eltávolítani a felesleges: extra fájlok felesleges osztályok, zakomentirovany kódot.

Sikeres áthaladását a tesztek által kidolgozott te nem garantálja a sikeres teszteket a szerveren.

Kapcsolódó cikkek