⌛⌛⌛ Tilauksen JUnit-testaus¶
Aseta koodisi Maven-projektin hakemistorakenteen mukaisesti alihakemistoon
Round11/junitorder/src/test/java/fi/tuni/prog3/junitorder
. Hae tehtävän materiaalit
``student_template_project``sta.
Tässä tehtävässä kokeillaan JUnit-testien määrittämistä tilausta kuvaavalle luokalle Order
(sekä sen sisäisille luokille Item
ja Entry
). Luokkien dokumentaatio on annettu tehtävän
materiaaleissa alihakemistossa apidocs
.
Tehtävänäsi on toteuttaa melko kattava joukko JUnit-testejä, jotka pyrkivät testaamaan, että luokat
Order
, Order.Item
ja Order.Entry
toimivat dokumentaatiossa määritellyllä tavalla.
Tehtävä muistuttaa luonteeltaan testivetoista kehitystä, jossa testien kehittäjillä ei ole käytettävissään varsinaista testattavaa koodia vaan testit kehitetään esim. rajapintakuvausten perusteella.
Testien kehittämisen kannalta voi olla tarpeen toteuttaa ainakin jonkinlainen omakin luokan
Order
toteutus (johon luonnollisesti sisältyy myös sisäiset luokat Item
ja Entry
).
Testauksesta¶
Automaattiset testit suorittavat määrittämäsi JUnit-testit ensin (tiettävästi) oikein toimiville
luokkien Order
, Order.Item
ja Order.Entry
toteutuksille. Tämän jälkeen JUnit-testisi
suoritetaan 20 erilailla virheellisille toteutuksille. Jos JUnit-testisi eivät löydä virheitä
oikein toimivasta toteutuksesta, saat 2 pistettä jokaista JUnit-testiesi virheelliseksi toteamaa
toteutusta kohden.
Virheelliset toteutukset eivät sisällä mitään erityisen hämärää virheellistä toiminnallisuutta: niistä kukin rikkoo selkeästi vähintään yhtä dokumentaatiossa määritettyä odotettua toiminnallisuutta.
A+ esittää tässä kohdassa tehtävän palautuslomakkeen.