Ü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](../../_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](../../_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](../../_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](../../_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](../../_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](../../_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](../../_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](../../_images/testing_new_8_run.png)
Tulemused tekivad akna alumisse osasse.
![../../_images/testing_new_9_results.png](../../_images/testing_new_9_results.png)