JUnit
JUnit – atviro kodo sistema java programų automatiniams testams kurti ir naudoti. Šia sistema galima greitai patikrinti kuriamą programą ir įsitikinti, jog nesama regresijų, testai taip pat dokumentuoja kodą parodydami kaip jis turėtų veikti. Tai ypač svarbu kai programą kuria daug žmonių.
JUnit[1] profesionaliame programavime yra plačiai paplitusi[2] ir tarp Java skirtų testavimo sistemų laikoma dominuojančia.[3]. Ja testuojama taip pat ir mobilių telefonų (Android) programinė įranga.[4]
JUnit sistemoje grupė giminingų testų jungiami į objektą, o kiekvienas testas yra šio objekto metodas.
Šiuo metu paplitę JUnit 3 ir naujesnė JUnit 4 versijos.
JUnit 3
[redaguoti | redaguoti vikitekstą]JUnit 3 testo objekto klasė kildinama iš bendrinės „testo atvejo“ (angl test case) klasės ir paveldi iš jos inicializacijos, užbaigimo, testavimo ir prielaidų tikrinimo metodus. Patikrinimo metodai atpažįstami pagal test priešdėlį. „Sveikas pasauli“ JUnit atrodo taip:
public class SveikasPasauli extends TestCase
{
public void testDuKartDu() {
// Patikrinsim ar du kart du lygu keturi.
assertEquals(„Sandauga“, 4, 2*2);
}
}
Testavimo metodų tokiame objekte gali būti kiek nori, jie aptinkami ir vykdomi naudojant refleksiją. Visi testavimo metodai turi prasidėti priešdėliu „test“. Kitokie (pagalbiniai) metodai, jei jų yra, testais nelaikomi ir nevykdomi.
JUnit 4
[redaguoti | redaguoti vikitekstą]Naujesnėje JUnit 4 versijoje testams žymėti naudojamos pirmąkart Java 1.5 pasirodžiusios anotacijos. Anotacijomis galima pažymėti ne tik testus bet ir veiksmus kuriuos būtina atlikti pasiruošiant testavimui arba po jo.
public class SveikasPasauli {
// Apskaičiuosim pasiruošimo testui metu
int keturi;
@Before
public void setUp() throws Exception {
// Apskaičiuota reikšmė vėliau naudojama abiejuose testuose.
keturi = 4;
}
@Test
public void testDuKartDu() {
Assert.assertEquals(„Sandauga“, keturi, 2*2);
}
@Test
public void testDuPliusDu() {
Assert.assertEquals(„Suma“, keturi, 2+2)
}
}
Naudojant JUnit 4 testų klases iš TestCase kildinti nebūtina, bet tada sunkiau pasiekiamas ankstesnis įvairių assertEquals ir panašių metodų rinkinys (Java reikalauja naudoti priešdėlį Assert).
Sudėtinga programa gali turėti dešimtis ir šimtus įvairių testų. Jie leidžia, ką nors pakeitus, per kelias minutes patikrinti ar betobulinant vieną funkciją, galimybę per neapsižiūrėjimą nebuvo sugadinta kita. Paprasčiausia rašyti testus įvairioms matematinėms funkcijoms. Sudėtingiausia testuoti grafinę sąsają tačiau rašomi testai ir jai.
Šaltiniai
[redaguoti | redaguoti vikitekstą]- ↑ JUnit tinklalapis
- ↑ Petar Tahchiev, Felipe Leme, Vincent Massol, Gary Gregory (2010). JUnit in Action, Second Edition. ISBN 9781935182023. 504 psl
- ↑ Jeff Ouffutt (2008). JUnitAutomated Software Testing Framework. George Mason University. (paskaitos konspektas) Archyvuota kopija 2013-12-02 iš Wayback Machine projekto., rašoma „leading“
- ↑ Oficiali dokumentacija apie JUnit testavimą Android aplinkoje