Automaattinen

Julkaistu

Automaattinen tarkistus tehdään pitkälti Lausekielinen ohjelmointi I -kurssin tapaan testeillä, joissa verrataan malliratkaisun ja opiskelijan ratkaisun tulosteita, tutkitaan ohjelman rakennetta tai kutsutaan metodeja automaattisesti.

Suurin ero edelliseen kurssin verrattuna on määreiden tarkistus. WETO vaatii, että metodien otsikoissa ja attribuuttien esittelyissä käytetään määreitä juuri tehtävänannossa määritellyllä tavalla. WETO tarkistaa parametrien lukumäärän lisäksi parametrien tyypit. Esimerkiksi ylimääräisen oman parametrin määrittely metodiin on virhe samoin kuin vaikkapa tehtävänannossa pyydetyn char-tyyppisen parametrin korvaaminen int-tyyppisellä parametrilla.

Metodeissa ja attribuuteissa on oltava aina public-näkyvyysmääre sekä static-määre.

WETO tarkistaa ettei palautettavassa ohjelmassa ole käytetty package-määrettä, koska WETOn automaattitarkistaja ei toistaiseksi ymmärrä pakkaukseen liitettyjä tiedostoja.

Automaattisen tarkistajan tulosteissa saattaa olla pieniä eroja Lausekielinen ohjelmointi I -kurssiin verrattuna, koska testaus tehdään osittain eri ohjelmistolla.

Kunkin tehtävän testit kuvaillaan tarkemmin palautuskohdan Main-välilehdellä WETOssa.

WETO tulostaa rakennetestin epäonnistuessa lyhyen virheilmoituksen. WETO voisi tulostaa esimerkiksi

ERROR: Method "public static void moikkaa(String)" in HelloYou was not found.

jos HelloYou-nimisestä ohjelmasta ei löydy tehtävänannossa pyydettyä void-tyyppistä moikkaa-metodia, jolla on yksi String-tyyppinen parametri. Vertaa metodisi otsikkoa osa osalta WETOn tulosteeseen, jos et näe heti miksi WETO ei tunnistanut metodiasi.

WETO sallii julkiset luokkavakiot eli attribuutit, jotka on esitelty public-, static- ja final-määreillä ellei myös luokkavakioita ole erikseen kielletty tehtävässä. Tarkista erityisesti, että olet muistanut final-määreen, jos WETO valittaa attribuutista. Alla on annettu WETOn virheilmoitus, josta käy ilmi, että attribuutissa on jotain vikaa. Vika pitää päätellä omatoimisesti attribuutin esittelyä tutkimalla. Tässä tapauksessa huomataan juuri final-määreen unohtuneen.

ERROR: "public static Scanner LUKIJA" in HelloYou is not a public class constant!

Ota yhteyttä harjoitusryhmän vetäjään tai kurssin vastuuopettajaan, jos en keksi järjellisessä ajassa miksi WETO ei hyväksy ohjelmaasi.

Huomaa, että ohjelmasi ei ole varmasti oikeellinen, vaikka testaus onnistuu, koska testit kattavat vain osan ohjelman toiminnallisuudesta ja rakenteesta.