JUnit - Java programmide testimine
Selle harjutustunni eesmärk on tutvuda programmeerimiskeele Java
järgmiste aspektidega:
- muutuja
- avaldis
- tingimuste kontroll ja hargnemine
- moodultestimine
Lugege läbi asjakohane osa Java õppematerjalidest
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
Tunniks vajalikud programmipõhjad ning abiteegid leiate
koodihoidlast: https://bitbucket.org/i200/intro
Koostage programm (vt. Grade.java), mis arvutab etteantud
protsendi järgi ingliskeelse hinde järgmise reegli alusel:
excellent - 91...100 %,
very good - 81...90 %,
good - 71...80 %,
satisfactory - 61...70 %,
sufficient - 51...60 %,
fail - 0...50 %.
- Täpsustage ülesande spetsifikatsioon (näiteks mis toimub 60.5%
korral - kas see on lubatud, kuidas teie programmis olukord
lahendatakse?)
- Täpsustage programmi sisendid ja väljundid, eriolukorrad
- Mõelge välja testid, millega programmi tööd kontrollida
- Täpsustage algoritm arvestades Java võimalusi
- Kirjutage selle järgi programm
- Siluge programm ja tehke läbi planeeritud testid
- Näidake tulemust juhendajale.
Andmete sisestamiseks kasutage TextIO.java vahendeid.
Kui soovime testimise anda kellegi teise hoolde, siis on abiks
moodultestimise raamistik JUnit Proovime
kasutada valmis teste. Vormistage oma programm nii, et hinde
arvutamiseks klassis Grade
oleks eraldi meetod nimega grade,
mis saab parameetriks double
tüüpi arvu ning tagastab stringi; vigane hinne peab tekitama erindi
RuntimeException.
Kompileerimiseks (Unix käsurealt):
javac -cp
.:junit-4.12.jar:hamcrest-core-1.3.jar GradeTest.java
Lahendamiseks (Unix käsurealt):
java -cp
.:junit-4.12.jar:hamcrest-core-1.3.jar org.junit.runner.JUnitCore
GradeTest
MS Windows korral asendage käsureal cp-parameetris koolonid
semikoolonitega.
Kui soovite seda näidet teha Eclipse's, siis peate eelpoolviidatud
jar-failid lisama projekti 'Java build path -> Libraries' teekide
loetelusse (lisamisvõimalus avaneb projekti parema hiirenupu
menüüst 'Properties' valiku alt).
Ülesanne (programmipõhi
Tellis.java).
On antud risttahukakujuline telliskivi mõõtmetega a, b, c ning ristkülikukujuline
ava mõõtmetega x, y (kõik
suurused on positiivsed reaalarvud).
Koostage programm, mis teeb kindlaks, kas kivi mahub läbi ava nii,
et kivi tahk libiseb mööda ava serva (s.t. kivi ei tohi olla
"viltu"). Mõelge hoolega enne, kui kodeerima asute. "Viltuse" asendi
lubamise korral mahub näiteks kivi mõõtmetega 1x10x12 läbi ava 7x9!
Võite uurida selle programmi käitumist
(vajab TextIO.class faili) käivitades
Java käsurealt (Eclipse abil seda teha ei saa).
Jaanus Pöial