Skip to content
Snippets Groups Projects
Commit 17e04ecf authored by Erkki Kaila's avatar Erkki Kaila
Browse files

lisaa testejä

parent a57cd9ea
No related branches found
No related tags found
No related merge requests found
......@@ -56,3 +56,5 @@ Yksittäinen testi saadaan ajettua klikkaamalla testikoodin vasemmalta puolelta
Testin tulos ilmestyy (yleensä) alhaalta löytyvään konsoli-ikkunaan. Vihreä väkänen tarkoittaa, että testi meni onnistuneesti läpi.
![test done](pic/test_done.png)
Siirry seuraavaksi osioon [Lisää testejä](lisaa_testeja.md)
\ No newline at end of file
# Lisää testejä
Laskimella on myös kaksi muuta metodia, joiden toimintaa haluamme testata.
Metodien `lisaa` ja `kerro` pitäisi lisätä tulokseen luku tai kertoa se annetulla luvulla.
Täydennetään testiluokkaan siis aluksi lisäystä testaava metodi:
```java
@Test
void lisaa() {
Laskin laskin = new Laskin();
laskin.lisaa(10);
laskin.lisaa(-5);
assertEquals(5, laskin.getTulos());
}
```
Testissä lisätään laskimen arvoon aluksi 10 ja sen jälkeen -5. Tämän jälkeen odotetaan, että laskimen tulos olisi 5 (eli 0 + 10 - 5).
Toteutetaan myös kertomista testaava metodi:
```java
@Test
void kerro() {
Laskin laskin = new Laskin();
laskin.lisaa(5);
laskin.kerro(2);
laskin.kerro(-3);
assertEquals(-30, laskin.getTulos());
}
```
Nyt laskimen arvoon aluksi lisätään 5 ja sitten kerrotaan se luvuilla 2 ja -3. Lopputuloksena oletetaan olevan -30 (eli laskun 5 * 2 * -3 lopputulos).
Lisätään seuraavaksi Laskin-luokkaan uusi toiminnallisuus, joka toimii väärin. Lisää luokkaan `Laskin` seuraava metodi:
```java
public void vahenna(int luku) {
tulos += luku;
}
```
Lisätään lisäksi luokkaan `LaskinTest` seuraava testimetodi:
```java
@Test
void vahenna() {
Laskin laskin = new Laskin();
laskin.lisaa(10);
laskin.vahenna(5);
assertEquals(5, laskin.getTulos());
}
```
Nyt kun ajetaan viimeinen testi, huomataan, ettei testi mene läpi. Oletettu arvo on eri kuin laskimen palauttama arvo:
![test error](pic/test_error.png)
Testin tuloksen perusteella on helppo korjata virhe ohjelmassa.
pic/test_error.png

15 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment