b'\n_START_ARTICLE_\nJUnit\n_START_PARAGRAPH_\nJUnit \xe2\x80\x93 atviro kodo sistema java program\xc5\xb3 automatiniams testams kurti ir naudoti. \xc5\xa0ia sistema galima greitai patikrinti kuriam\xc4\x85 program\xc4\x85 ir \xc4\xafsitikinti, jog nesama regresij\xc5\xb3, testai taip pat dokumentuoja kod\xc4\x85 parodydami kaip jis tur\xc4\x97t\xc5\xb3 veikti. Tai ypa\xc4\x8d svarbu kai program\xc4\x85 kuria daug \xc5\xbemoni\xc5\xb3._NEWLINE_JUnit profesionaliame programavime yra pla\xc4\x8diai paplitusi ir tarp Java skirt\xc5\xb3 testavimo sistem\xc5\xb3 laikoma dominuojan\xc4\x8dia. Ja testuojama taip pat ir mobili\xc5\xb3 telefon\xc5\xb3 (Android) programin\xc4\x97 \xc4\xafranga._NEWLINE_JUnit sistemoje grup\xc4\x97 gimining\xc5\xb3 test\xc5\xb3 jungiami \xc4\xaf objekt\xc4\x85, o kiekvienas testas yra \xc5\xa1io objekto metodas._NEWLINE_\xc5\xa0iuo metu paplit\xc4\x99 JUnit 3 ir naujesn\xc4\x97 JUnit 4 versijos.\n_START_SECTION_\nJUnit 3\n_START_PARAGRAPH_\nJUnit 3 testo objekto klas\xc4\x97 kildinama i\xc5\xa1 bendrin\xc4\x97s \xe2\x80\x9etesto atvejo\xe2\x80\x9c (angl test case) klas\xc4\x97s ir paveldi i\xc5\xa1 jos inicializacijos, u\xc5\xbebaigimo, testavimo ir prielaid\xc5\xb3 tikrinimo metodus. Patikrinimo metodai atpa\xc5\xbe\xc4\xafstami pagal test prie\xc5\xa1d\xc4\x97l\xc4\xaf. \xe2\x80\x9eSveikas pasauli\xe2\x80\x9c JUnit atrodo taip:_NEWLINE__NEWLINE_ public class SveikasPasauli extends TestCase_NEWLINE_ {_NEWLINE_   public void testDuKartDu() {_NEWLINE_     // Patikrinsim ar du kart du lygu keturi._NEWLINE_     assertEquals(\xe2\x80\x9eSandauga\xe2\x80\x9c, 4, 2*2);_NEWLINE_   }_NEWLINE_ }_NEWLINE_Testavimo metod\xc5\xb3 tokiame objekte gali b\xc5\xabti kiek nori, jie aptinkami ir vykdomi naudojant refleksij\xc4\x85. Visi testavimo metodai turi prasid\xc4\x97ti prie\xc5\xa1d\xc4\x97liu \xe2\x80\x9etest\xe2\x80\x9c. Kitokie (pagalbiniai) metodai, jei j\xc5\xb3 yra, testais nelaikomi ir nevykdomi.\n_START_SECTION_\nJUnit 4\n_START_PARAGRAPH_\nNaujesn\xc4\x97je JUnit 4 versijoje testams \xc5\xbeym\xc4\x97ti naudojamos pirm\xc4\x85kart Java 1.5 pasirod\xc5\xbeiusios anotacijos. Anotacijomis galima pa\xc5\xbeym\xc4\x97ti ne tik testus bet ir veiksmus kuriuos b\xc5\xabtina atlikti pasiruo\xc5\xa1iant testavimui arba po jo._NEWLINE__NEWLINE_ public class SveikasPasauli {_NEWLINE_   // Apskai\xc4\x8diuosim pasiruo\xc5\xa1imo testui metu_NEWLINE_   int keturi;_NEWLINE__NEWLINE_   @Before_NEWLINE_   public void setUp() throws Exception {_NEWLINE_      // Apskai\xc4\x8diuota reik\xc5\xa1m\xc4\x97 v\xc4\x97liau naudojama abiejuose testuose._NEWLINE_      keturi = 4;_NEWLINE_   }_NEWLINE__NEWLINE_   @Test_NEWLINE_   public void testDuKartDu() {_NEWLINE_     Assert.assertEquals(\xe2\x80\x9eSandauga\xe2\x80\x9c, keturi, 2*2);_NEWLINE_   }_NEWLINE__NEWLINE_   @Test_NEWLINE_   public void testDuPliusDu() {_NEWLINE_     Assert.assertEquals(\xe2\x80\x9eSuma\xe2\x80\x9c, keturi, 2+2)_NEWLINE_   }_NEWLINE_ }_NEWLINE_Naudojant JUnit 4 test\xc5\xb3 klases i\xc5\xa1 TestCase kildinti neb\xc5\xabtina, bet tada sunkiau pasiekiamas ankstesnis \xc4\xafvairi\xc5\xb3 assertEquals ir pana\xc5\xa1i\xc5\xb3 metod\xc5\xb3 rinkinys (Java reikalauja naudoti prie\xc5\xa1d\xc4\x97l\xc4\xaf Assert)._NEWLINE_Sud\xc4\x97tinga programa gali tur\xc4\x97ti de\xc5\xa1imtis ir \xc5\xa1imtus \xc4\xafvairi\xc5\xb3 test\xc5\xb3. Jie leid\xc5\xbeia, k\xc4\x85 nors pakeitus, per kelias minutes patikrinti ar betobulinant vien\xc4\x85 funkcij\xc4\x85, galimyb\xc4\x99 per neapsi\xc5\xbei\xc5\xabr\xc4\x97jim\xc4\x85 nebuvo sugadinta kita. Papras\xc4\x8diausia ra\xc5\xa1yti testus \xc4\xafvairioms matematin\xc4\x97ms funkcijoms. Sud\xc4\x97tingiausia testuoti grafin\xc4\x99 s\xc4\x85saj\xc4\x85 ta\xc4\x8diau ra\xc5\xa1omi testai ir jai.'