JUnit ja Ohjelmointi 2-kurssi

JUnit on ohjelmakehys yksikkötestien tekemiseen.

Eclipsen mukana tulee JUnit valmiina, mitään ei tämän takia tarvitse asentaa, vaikka jossakin viitatussa materiaalissa niin sanottaisiinkin.

Materiaalia

JUnit FAQ linkki ei toimi,

Void luokan testaamiseen olisin hakenut infoa. Miten testataan luokkaa, joka ei palauta mitään.

VL: Vaihdettu JUnit4 FAQ. Luokka ei koskaan palauta mitään. Sen staattinen metodi voi palauttaa tai olla palauttamatta. Olion metodi voi palauttaa tai olla palauttamatta. ComTest esimerkeissä on vaikkapa metodin lisaa testi. Se ei palauta mitään, mutta muuttaa olion tilaa. Silloin testataan onko olion tila kutsun jälkeen haluttu. Tuolta voi matkia ideoita.

11 Feb 23 (edited 11 Feb 23)

Yksinkertainen esimerkki käytöstä

  • Yksinkertainen esimerkki ohjeineen:
# c1
001 package testaaminen;
002 
003 import static testaaminen.Poista.poista;
004 import static org.junit.Assert.assertEquals;
005 
006 import org.junit.Test;
007 
008 /**
009  * Testataan Poista-luokan metodeja
010  * <pre>
011  *  1) Ollaan aluksi testattavan luokan kohdalla
012  *  2) File/New/JUnit Test Case
013  *  3) Ruksitaan tarvittaessa setUp() (alustus ennen testejä)
014  *     ja tearDown() (testien jälkeen tehtävät operaatiot)
015  *     Näihin voi kuulua esim. olioiden luomista ja vapauttamista.
016  *     Tarkista että on JUnit 4
017  *  4) Next
018  *  5) Ruksitaan metodit jotka halutaan testata.
019  *     Jos joku jää ruksaamatta, niin ei hätää, testejä on
020  *     helppo lisätä käsinkin
021  *  6) Finish
022  *  7) Täydennetään testitapaukset
023  *  8) Aja hiiren oikealla ja Run As/JUnit Test
024  * </pre>
025  * 
026  * @author vesal
027  *
028  */
029 public class PoistaTest {
030 
031     /** Testaan poistamista */
032     @SuppressWarnings("static-method")
033     @Test
034     public void testPoista() {
035         assertEquals("Selkeä","Cc", poista("Catcat","at"));
036         assertEquals("Poistaminen tuottaa uuden","Pi", poista("Paatti","at"));
037         assertEquals("Perusversio","Puit", poista("Puatit","at"));
038         assertEquals("Poistaminen tuotata uusia","Abb", poista("Abbababba","ba"));
039         assertEquals("Poistettavaa ei löydy","Abba", poista("Abba","Aa"));
040     }
041 
042 }

ComTest tuottaa JUnittia

  • Ohjelmointi 2 -kurssilla saa tehdä testaamisen myös ComTestin avulla.

Vanhoihin Eclipseihin: JUnitin tietyissä versioissa on bugi reaalilukujen käsittelyssä

  • kannattaa siis ottaa JUnit 4.4 tai uudempi käyttöön
  • periaatteessa riittää hakea uusin JUnit.jar ja sitten hiiren oikealla projektin nimen päällä:
Build Path > Add External Archives...

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.