Mitä ovat stubit ohjelmistokehityksessä?
Ohjelmistokehityksessä "tynkä" viittaa sellaisen komponentin tai moduulin vale- tai paikkamerkkitoteutukseen, jota ei ole vielä täysin kehitetty tai toteutettu. Tynkin tarkoitus on antaa muiden järjestelmän osien olla vuorovaikutuksessa sen kanssa ja testata sen käyttäytymistä ilman, että sinun tarvitsee odottaa täyttä toteutusta.
Tuntteja käytetään yleisesti yksikkötestauksessa ja integraatiotestauksessa testattavan yksikön eristämiseksi ulkoisista riippuvuuksista ja simuloida muiden komponenttien käyttäytymistä. Kehittäjä saattaa esimerkiksi luoda tietokantayhteydelle tynkän, joka palauttaa ennalta määritetyt tiedot todellisen tietokannan kyselyn sijaan. Tämän avulla kehittäjä voi testata koodia, joka on vuorovaikutuksessa tietokannan kanssa ilman, että hänen tarvitsee perustaa ja purkaa todellista tietokantaa jokaista testiä varten.
Stubit voidaan toteuttaa valeobjekteina tai moduulien paikkamerkkitoteutuksina, jotka eivät ole vielä valmiita. Ne voidaan luoda eri tekniikoilla, kuten:
1. Pilkkaavat puitteet: JMockin, EasyMockin ja Mockiton kaltaisten työkalujen avulla kehittäjät voivat luoda valeobjekteja, jotka jäljittelevät todellisten objektien käyttäytymistä.
2. Stubbing-kehykset: WireMockin ja Stormpathin kaltaiset puitteet tarjoavat valmiita osia yleisille palveluille, kuten HTTP-pyynnöille ja tietokantayhteyksille.
3. Koodin lisäys: Kehittäjät voivat lisätä tynkäkoodia sovelluksiinsa korvatakseen tai täydentääkseen olemassa olevia toimintoja.
4. Testatut kaksoiskappaleet: Testituplaukset ovat objekteja, jotka jäljittelevät todellisten objektien käyttäytymistä, mutta joita ei ole tarkoitettu käytettäviksi tuotannossa. Niitä voidaan käyttää tynginä muiden komponenttien toiminnan testaamiseen.
Kaiken kaikkiaan tynkien käyttö ohjelmistokehityksessä voi auttaa kehittäjiä säästämään aikaa ja vaivaa, koska he voivat testata koodiaan nopeammin ja perusteellisemmin. Se auttaa myös varmistamaan, että koodi toimii odotetulla tavalla, ennen kuin se integroidaan muihin komponentteihin.



