Eclipse ja JUnit-ohjelmoijatestit

Samankaltaiset tiedostot
Eclipse, SVN ja HelloWorld

Testivetoinen ohjelmistokehitys

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

Lukkarikone Pikaohjeet v. 1.0

Eclipse & WindowBuilder

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Test-Driven Development

JUnit ja EasyMock (TilaustenKäsittely)

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

JAKELUPISTE KÄYTTÖOHJE 2/6

Public Account-tili on pysyvä, joten kannattaa käyttää mieluummin sitä kuin kaupallisen tilin kokeiluversiota.

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Test-Driven Development

Osa 7: Hahmojen ohjelmointi ja hienosäätö

Verkkojulkaiseminen Minna Väisänen. HTML5-tehtävä

Pikaohjeita OneNote OPS:in käyttäjille

CSV - XML ohjelman käyttöohje

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

4. Luokan testaus ja käyttö olion kautta 4.1

Provet Pet ohjelmisto ja tulostus PDF-tiedostoon.

H5P-työkalut Moodlessa

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä

Integroidun maksupäätteen lisääminen käyttöönotossa

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet

Eclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä

Moodle-oppimisympäristö

Picasa 3 -kuvankäsittelyopas, osa 1, valokuvien muokkaus tutuksi

Tekstieditorin käyttö ja kuvien käsittely

Punomo Tee itse -julkaisun tekeminen

Asiointipalvelun ohje

GEOS 1. Ilmastodiagrammi Libre Office Calc ohjelmalla

UpdateIT 2010: Editorin käyttöohje

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

Interaktiivinen tarinankerronta

Scratch ohjeita. Perusteet

Jypelin käyttöohjeet» Ruutukentän luominen

Testilähtöinen ohjelmistokehitys. Testilähtöinen ohjelmistokehitys. TDD Testilähtöinen ohjelmistokehitys. Testi! Testi

Visma.net Approval. Versiosaate 1.40

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Solteq Tekso v Versiopäivitysohje.

Opintokohteiden muokkaus

Coolselector Asennusohje

Javan perusteita. Janne Käki

Taulukot. Jukka Harju, Jukka Juslin

OHJE Jos Kelaimeen kirjautuminen ei onnistu Windows-koneilla

Google-dokumentit. Opetusteknologiakeskus Mediamylly

Automaattitilausten hallinta

Kuinka ladata tulostusprofiilit Antalis ICC Profile Centrestä

GeoGebra-harjoituksia malu-opettajille

5. HelloWorld-ohjelma 5.1

Nexetic Shield Unlimited

VSP webmail palvelun ka yttö öhje

Näin tilaat tuotteita Kuulotarvikkeen verkkokaupasta

Tervetuloa tutustumaan Seure Keikkanetti -mobiilisovellukseen!

HELSINGIN YLIOPISTO TIEDEKASVATUS. helsinki.fi/tiedekasvatus v 1.2

Lukkarikoneen käyttöohje

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

Liveseuranta (1/9) Suomen Palloliiton Tampereen piiri

Sähköisen Markkinoinnin Koulutus Kotisivutyöpaja. Julkaisujärjestelmän ohje

Kopiodaksesi, leikataksesi ja liittääksesi helpointa on käyttää näppäimistön pikavalintoja:

Ohjeistus yhdistysten internetpäivittäjille

Sisällys Clerica Web-sovellusten käytön aloittaminen 2

1. HARJOITUS harjoitus3_korjaus.doc

4 Google. Eetu Kahelin ja Kimi Syrjä DAT 17

Eclipse 3.1 Pikaopas versio 1.0

Päivitysohje Opus Dental

STS UUDEN SEUDULLISEN TAPAHTUMAN TEKO

Jos olet jo kirjautunut palveluun, näin pääset tilillesi: Anna sähköpostiosoitteesi ja salasanasi. Napsauta Sisäänkirjautuminen.

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Rekisteröitymisohje. Vaihe 1. Rekisteröityminen palveluun tapahtuu seuraavasti:

SPORTTISAITTI KÄYTTÖOHJE

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU

Oma kartta Google Maps -palveluun

Ohjeet What matters to me palvelun käyttöönottoon

OKLV120 Demo 7. Marika Peltonen

Valitse aineisto otsikoineen maalaamalla se hiirella ja kopioimalla (Esim. ctrl-c). Vaihtoehtoisesti, Lataa CSV-tiedosto

Opintokohteiden muokkaus

Kelan sähköinen suorakorvaus. Opus Dental -ohje

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

SSH Secure Shell & SSH File Transfer

Nexetic Shield Unlimited

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Metron. nettikauppaohjeet

Google Sites: sivun muokkaaminen (esim. tekstin, kuvien, linkkien, tiedostojen, videoiden ym. lisääminen)

Moodle-alueen muokkaaminen

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

7. Näytölle tulostaminen 7.1

Tero Mononen / Kumppanuuskampus

LibreOffice Writer perusteita

LUKKARIKONE KÄYTTÖOHJE

Visma Avendon asennusohje

Esittely. Muistathan, että voit myös käyttää Petsietä aivan normaalina käyttäjänä kasvattajapalveluiden lisäksi. Antoisaa Petsien käyttöä!

Epooqin perusominaisuudet

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Transkriptio:

Eclipse ja JUnit-ohjelmoijatestit Tarkoitus on tutustua Eclipsen käyttöön vähän lähemmin ja varsinkin JUnit-ohjelmoijatesteihin (ohjelmoijatesti on vanhalta nimeltä yksikkötesti). Ohjelmoijatestit ovat perin käteviä muokattaessa paljon ohjelmakoodia, sillä niiden avulla voi varmistaa, etteivät muutokset riko ohjelman toimintaa. Ne ovat myös hyvä dokumentointiväline, ja auttavatpa ne vielä hyvin mutkikkaalla tavalla: on huomattu, että jos ohjelmoijatestin tekeminen on hankalaa, on testikohteessa jotain muutakin vikaa, ja se kannattaa uudelleentyöstää. Eclipse Käynnistä Eclipse. Käynnistymisen yhteydessä tulee valita Eclipsen työskentelyalue. Valitse alueeksi kiintolevyn juuren tmp- tai temp-hakemisto, jollet halua tulosten säilyvän, tai jokin hakemisto omassa hakemistopuussasi. Viimeinen osa polussa on uusi hakemisto, jonka Eclipse luo, ja yleensä nimeltään workbench, vaikka voit kyllä nimetä sen vaikka isomman projektiryppään mukaan (esim. tie343). Tärkeää on, ettet valitse oletushakemistoa, tai jonkun muun käyttämää hakemistoa. Tämän jälkeen tulee esille valikko, josta voit valita yleisoppaan tai jonkin erikoisoppaista, tai Eclipsen kehitinnäkymän. Lue ja tutustu osioihin Overview (yleisopas) ja Build a simple Java application. Älä oi'o Java-tutoriaalissa, vaan koeta kestää tehdä kaikki ohjeiden mukaan. JUnit ohjelmoijatestit Tämän osion aikana tehdään yksinkertainen autolaskuri (yllätys). Ei nyt innostuta graafisesta käyttöliittymästä, vaan tehdään vain pieni laskuriolio. Oikeastaan, ei tehdä itse, vaan teetetään suurelta osin Eclipsellä. Ensin on aina kuva tilanteesta, sitten selitys. Koeta kestää mukana, äläkä oio, vaikka mieli tekisi. (OK, sen tekemäni virheen voit jättää tekemättä.) Teksti alla on järjestetty siten, että ensin tulee kuva, sitten kuvaan liittyvä teksti. JUnitin kotisivut löytyvät osoitteesta http://www.junit.org/, josta löytyy myös kasoittain hyvää dokumentaatiota ja opastusta JUnitin käyttöön. Esimerkiksi http://junit.sourceforge.net/doc/testinfected/testing.htm kertoo sen mitä tämä teksti ja paljon enemmän, mutta ilman kehitysympäristösidonnaista toimintaa. Suosittelen sitä luettavaksi. Sivu 1 / 14

Aloita luomalla uusi projekti nimeltä autolaskuri. Ensimmäisen sivun Finnish kelpaa; tarkempia asetuksia ei tarvita. Kun projekti on valmis, valitse projektin valikko hiiren valikkonäppäimellä (yleensä oikeanpuoleisin), ja valitse valikosta New - JUnit Test Case. Sivu 2 / 14

Jos junit.jar ei ole jo polussa, ehdottaa Eclipse sen liittämistä polkuun. Hyväksy liitos. Anna luokalle nimeksi TestLaskuri ja paketille, johon luokka tulee, anna nimeksi testit. Jälleen Finnish ensimmäisessä ruudussa on kelvollinen. Tee luokkaan metodi public void testluonti(), joka testaa Laskuri-olion luonnin onnistumista. Metodista TestCase.assertEquals on apua. Koeta ensin tehdä metodi itse, katson vastaus kuvasta, jos ei meinaa onnistua. Ohjelmassa on virheitä. Jos katsot lähdekoodinäkymän vasenta marginaalia, näkyy siellä lamppu-rasti -ikoneita samojen rivien kohdalla, joissa on punaaaltoviivalla merkittyjä virheitä. Klikkaa ikonia, ja esille ponnahtaa joukko vaihtoehtoja automaattisiksi korjauksiksi. Vieressä näet keltaisella pohjalla korjauksen vaikutuksen. Valitse Create class "Laskuri" kaksoisklikkaamalla sitä. Sivu 3 / 14

Kuvaruudulle aukeaa uuden javaluokan luontidialogi. Asetusten pitäisi olla muuten kunnossa, mutta muuta paketin nimeksi luokat; paremmankin nimen voisi keksiä... Jätä uusi luokka sellaiseksi kuin Eclipse sen generoi. Palaa TestLaskuri luokan pariin, vielä kaikkia virheitä ei ole korjattu - ja Eclipsen saa vielä korjaamaan niitä joukon ohjelmoijan puolesta ;) Seuraava virhe on, ettei Laskuri-luokalla ole rakenninta,... Sivu 4 / 14

... ja sekin hoituu Eclipsen automaattisilla korjauksilla (se lamppu-rasti -ikoni). Huomio laatikot generoidun metodin nimen, sekä ainoan parametrin tyypin ja nimen ympärillä. Metodin nimi on valittuna, voit muokata sitä, joskaan tarvetta ei ole. Parametrin tyyppiin, seuraavaan laatikkoon, voi siirtyä painamalla TAB-näppäintä. Muuta parametrin nimeksi kohde. Rakentimen toiminta ei ole kummoinen, sijoitetaan parametrin kohde arvo jäsenmuuttujan (atribuutin) kohde arvoksi. Tallenna, ja jäsenmuuttujan nimi alleviivautuu punaisella aaltoviivalla. Eclipse osaa korjata "virheen" tutusta ikonista. Sivu 5 / 14

Huomaa, kuinka jäsenmuuttujan nimen ympärille tulee laatikko, ja jäsenmuuttuja tulee maalatuksi. Koeta muuttaa jäsenmuuttujan nimeksi vaikkapa nimi. Älä liikuta kohdistinta, aloita vain kirjoittamaan,...... ja huomaat, kuinka jäsenmuuttujan nimi muuttuu myös esittelyssään. Hienoa ja kätevää! Seuraava virhe: Laskurilla ei ole metodia arvo. Sivu 6 / 14

Luodaan metodi arvo. Metodin ei tarvitse kuin palauttaa jäsenmuuttujan arvo arvo. Arvokas apu on jälleen Eclipsen virheenkojaajan tarjoama. Luodaan jäsenmuuttuja arvo. Vaan missä vika, kun assertequals metodin kutsussa on virhemerkintä? Unohdinpa metodia tehdessä tarkastaa sen tyypin, ja oletukseksi tuli String. Eikä Eclipse apuakaan tarjoa, joten metodia editoimaan, mars! Siirrä kohdistin metodin nimen kohdalle, tai metodin kohdalle, ja hiiren valikkonappia klikkaamalla esiin tulee ponnahdusvalikko, josta löytyy varsin ovela alavalikko Source, ja sen sisältä edelleen toiminto Change Method Signature... Sivu 7 / 14

Hankala dialogi? No ei. Muuta paluuarvon tyypiksi int. Eclipse huomauttaa paluuarvon tyypin ja jäsenmuuttujan tyypin yhteensopimattomuudesta. Ei välitetä siitä vielä. Sivu 8 / 14

Sitten avautuu dialogi, jossa voidaan tarkistella tulevia muutoksia. Vasen koodinäkymä näyttää alkuperäisen, oikea muutetun koodin. Huomioi välissä oleva viiva ja pienet merkit oikean koodinäkymän oikeassa mariginaalissan. Viiva koodinäkymien välillä kertoo lähde- ja kohdealueen suhteen, merkki oikeassa marginaalissa osoittaa virheen paikan koko tiedostossa. Tämä merkki nopeuttaa paljon liikkumista pitkässä tiedostossa. Paina OK-nappia. Eclipsen apuri auttaa nyt korjaamaan jäsenmuuttujan tyypin. Ja niin on Laskuri-luokka valmis - tältäosin. Sivu 9 / 14

Klikkaa valikkonapilla testiluokkan nimeä ja valitse esiintulvasta valikosta Run - JUnit Test. Eclipse suorittaa JUnit-luokan TestLaskuri metodin testluonti. Tulos saattaa jäädä piiloon......mutta tabista sen saa esille. Vihreä palkki kertoo kaikkien testien onnistuneen. (Testejä voisi olla useampiakin, ideana on tehdä sanalla test alkavia metodeja. Sivu 10 / 14

Tee testit laskurin arvon lisäykselle ja nollaukselle. Kuvasta yllä saat vinkkejä tarvittaessa. Huomaa, kuinka Eclipsellä on piilotettu tarvittujen metodien toteutus. Oikealle osoittava kolmio metodirivin vasemmassa marginaalissa virheikonin oikealla puolella osoittaa rivejä piilotetun. Yläpuolella näkyy alas osoittava kolmio, jonka kohdalla kaikki rivit näkyvät. Kokeile piilottaa ja jälleen paljastaa rivejä. Sivu 11 / 14

Voit myös kokeilla ajaa virheellistä ohjelmaa. Eclipse mahdollistaa tämän, mutta koska kyseessä on ohjelmoijatesti, ei testi mene läpi, ymmärrettävästi. Tässä kuvassa on hauska virhe kohdistimen kohdalla. Mikä? Ratkaisu löytyy tästä kuvasta. Korjauks(i)en jälkeen ohjelmoijatestin tulos pitäisi olla kuvan mukainen. Hieno valmis laskuriluokka löytyy tämän linkin takaa. Eclipse on myös varsin hyvin varustettu uudelleentyöstämistyökaluillaan. Yksi näistä on käytännöllinen nyt, nimittäin rajapinnan luokasta irroittava työkalu. Laskureitahan voi olla toteutukseltaan useita. Tee siis Laskuri-luokasta rajapinta Laskija käyttäen työkalua Extract Interface..., joka löytyy ponnahdusvalikon Refactor-valinnan takaa. Sivu 12 / 14

Eclipse tiedustelee rajapinnan nimeä ja siihen liittyviä metodeja. Seuraavaksi näytetään tulevat muutokset. Klikkaa OK,... Sivu 13 / 14

... ja uusi rajapinta on valmis. Varmistetaan vielä, ajetaan ohjelmoijatesti (katso valikosta pikanäppäinkomento). Ei virheitä, hienoa! Sitten hieman vaikeampi tehtävä. Jokaisen testimetodin alussa luodaan uusi laskuriolio. Miten saisit muutettua testiluokkaa niin, että laskuriolio luotaisiin vain kerran? (Vinkki: TestCase dokumentaatio!) JUnit-kehys ja dokumentaatiohan löytyi osoitteesta http://www.junit.org/. Sivu 14 / 14