Ühiktestimine IntelliJ'ga (JUnit 5)

Antud näites seadistame IntelliJ-is testimis keskkonna kasutades JUnit Jupiter (JUnit 5) raamistiku.

Testifaili genereerimine

Testi klasse saab kas ise luua või lasta IDEA-l need genereerida. Genereerimiseks tuleb teha kas parem klõps klassi nimel ja vajutada "Generate" või kasutada kiirklahvi "Control + Enter". Avaneb järgnev menüü:

../../_images/testing_new_1_ctrlenter.png

Järgnevalt valige "Test" ning täitke vajalikud väljad ning valige meetodid mida soovite testida (NB: Saab alati ise juurde kirjutada käsitsi).

../../_images/testing_new_2_generate.png

Tulemusena peaks tekkima Java fail, kus on automaatselt sisse imporditud valitud testimisraamistik (näite puhul junit.jupiter) ning genereeritud tühjad meetodid:

../../_images/testing_new_3_generated.png

Käsitsi faili loomine

Alustuseks tuleb olemasolevasse moodulisse luua uus klass. Asukoht esialgselt pole oluline, kuid soovitatav on eraldi kausta panna src kaustast (et tekiks kaks eraldi kausta - src, test). Kui kasutate mingit build süsteemi, siis need kaustad tekivad ise (maven, gradle). Antud näites on struktuur tekkinud gradle järgi (src kausta sees on main ja test).

../../_images/testing_new_4_newclass.png

Klassi nimi võiks soovitavalt alata või lõppeda sõnaga "Test".

../../_images/testing_new_5_classname.png

Tekib tühi klass. Järgmiseks loo testimiseks meetod (antud näites "void testGetUuidFromName()") ning lisa selle peale @Test annotatsioon. Esialgselt pole ühtegi testimisraamistiku projekti nimeruumi lisatud. IntelliJ annab meile võimaluse selle lisada. Näite jaoks valime JUnit 5.

../../_images/testing_new_6_adding_junit.png

Nüüd peaks projekt olema seadistatud kasutama JUnit testimisraamistiku.

Testide kirjutamine ja tööle panemine

Lisame nüüd oma testile sisu. Paneme testi sees tööle ühe meetodi testitavast klassist ning salvestame tulemuse. Kuna meetod tagastab meile Optionali, siis esialgu kontrollime ega Optional pole tühi. Kui see kontroll läbib, siis kontrollime selle sisu oodatava tulemuse vastu:

../../_images/testing_new_7_write.png

Kõikide testide korraga tööle panekuks tuleb terve klass jooksutada (roheline play-nupp või reanumbrite kõrval esinevad rohelised linnukesed). On võimalik ka teste üks-haaval tööle panna, kasutades neid varem mainitud rohelisi linnukesi.

../../_images/testing_new_8_run.png

Tulemused tekivad akna alumisse osasse.

../../_images/testing_new_9_results.png