Testauksen hallinta: JUnit, Mockito ja integraatiotestit · Oppitunti

Ehdolliset testit ja oletukset

Ohjatkaa testien suorittamista JUnit 5:ssä ehdollisen suorituksen annotaatioilla ja oletuksilla, jotta testikokonaisuus mukautuu käyttöjärjestelmään, ympäristöön ja ajonaikaisiin olosuhteisiin.

Oppitunti 4/413 vaihetta

Ehdolliset testit ja oletukset on ilmainen Testauksen hallinta: JUnit, Mockito ja integraatiotestit-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Testauksen hallinta: JUnit, Mockito ja integraatiotestit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Testauksen hallinta: JUnit, Mockito ja integraatiotestit-kurssilla on yhteensä 4 oppituntia.

Kaikki testit eivät sovi kaikkiin ympäristöihin

Jotkin testit ovat mielekkäitä vain tietyssä käyttöjärjestelmässä, JRE:ssä tai silloin, kun jokin palvelu on käytettävissä. Niiden suorittaminen kaikkialla aiheuttaa virheellisiä epäonnistumisia.

JUnit 5 tarjoaa ehdollisen suorittamisen ja oletukset tämän käsittelemiseen hallitusti.

Testien käytöstä poistaminen ja käyttöönotto

Yksinkertaisin hallintakeino on @Disabled, joka ohittaa testin kokonaan. Ilmoittakaa aina syy, jotta tiimi tietää, miksi testi ohitetaan.

@Test
@Disabled("flaky until APIv2 lands")
void legacyFlow() { /* ... */ }

Käyttöjärjestelmäkohtaiset testit

Käytä @EnabledOnOs- tai @DisabledOnOs-annotaatiota suorittaaksesi testin vain tietyillä alustoilla. Tämä sopii erityisesti tiedostojärjestelmä- tai polkutesteihin.

@Test
@EnabledOnOs(OS.WINDOWS)
void usesBackslashPaths() { /* ... */ }

JRE-version ehdot

@EnabledOnJre- ja @EnabledForJreRange-annotaatiot rajoittavat testien suorittamisen Java-version perusteella. Tämä on hyödyllistä, kun jokin ominaisuus on käytettävissä vain uudemmissa ajoaikaympäristöissä.

@Test
@EnabledForJreRange(min = JRE.JAVA_17)
void usesSealedClasses() { /* ... */ }

Ympäristömuuttujien ehdot

Suorita testi vain, kun ympäristömuuttujan arvo vastaa määritettyä arvoa. Tämä sopii erityisesti testeihin, jotka edellyttävät tiettyä käyttöönottokontekstia.

@Test
@EnabledIfEnvironmentVariable(named = "ENV", matches = "ci")
void runsOnlyInCi() { /* ... */ }

Järjestelmäominaisuuksien ehdot

Vastaavasti @EnabledIfSystemProperty rajoittaa testin suorittamisen JVM:n järjestelmäominaisuuden perusteella, joten testijoukkoja voidaan ottaa käyttöön ja poistaa käytöstä komentoriviltä.

@Test
@EnabledIfSystemProperty(named = "db", matches = "integration")
void hitsRealDatabase() { /* ... */ }

Mukautetut ehdot

Monimutkaisessa logiikassa @EnabledIf viittaa metodiin, joka palauttaa totuusarvon. Testi suoritetaan vain, jos palautusarvo on true.

@Test
@EnabledIf("serverIsReachable")
void callsServer() { /* ... */ }

Annotaatiot ja oletukset

Ehdolliset annotaatiot tekevät päätöksen ennen testin alkamista. Oletukset tekevät päätöksen testin aikana: jos oletus ei täyty, testi keskeytetään (ohitetaan), eikä sitä merkitä epäonnistuneeksi.

assumeTruen käyttäminen

assumeTrue keskeyttää testin, kun suorituksen aikainen ehto ei täyty, joten jäljellä olevia väitteitä ei suoriteta ja testi merkitään ohitetuksi.

@Test
void onlyWhenOnline() {
    assumeTrue(network.isUp());
    assertNotNull(client.fetch());
}

assumingThat osittaiseen suorittamiseen

assumingThat suorittaa väitteiden lohkon vain, jos ehto täyttyy, samalla kun testin muu osa suoritetaan aina.

assumingThat(isCi(), () -> {
    assertEquals("prod", config.profile());
});
assertNotNull(config);

Parhaat käytännöt

Käytä ehtoja harkiten:

  • Suosi annotaatioita etukäteen tiedossa olevissa staattisissa ehdoissa
  • Käytä oletuksia suorituksen aikaisten ehtojen tarkistamiseen
  • Anna @Disabled-annotaatiolle aina syy
  • Vältä liiallista ohittamista, sillä se peittää todelliset kattavuusaukot

Pikatarkistus

Testaa tietosi ehdollisesta suorittamisesta.

Kertaus

Hallitsitte testien suoritusajankohtaa:

  • @Disabled ohittaa testin; käyttöjärjestelmä-, JRE-, ympäristö- ja ominaisuusannotaatiot rajoittavat testien suorittamista
  • @EnabledIf käsittelee mukautettuja ehtoja
  • Oletukset keskeyttävät (ohittavat) testit suorituksen aikana eivätkä merkitse niitä epäonnistuneiksi
  • assumingThat suorittaa osan väitteistä ehdollisesti

Ehdollinen suorittaminen pitää testijoukon läpäisevänä erilaisissa ympäristöissä.

Aloita maksutta

Opi Testauksen hallinta: JUnit, Mockito ja integraatiotestit tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Ehdolliset testit ja oletukset” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Testauksen hallinta: JUnit, Mockito ja integraatiotestit-oppimispolun 3 oppituntia, myös oppitunnin “Ehdolliset testit ja oletukset”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Testauksen hallinta: JUnit, Mockito ja integraatiotestit-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Ehdolliset testit ja oletukset”?

Ohjatkaa testien suorittamista JUnit 5:ssä ehdollisen suorituksen annotaatioilla ja oletuksilla, jotta testikokonaisuus mukautuu käyttöjärjestelmään, ympäristöön ja ajonaikaisiin olosuhteisiin. Harjoittelet Testauksen hallinta: JUnit, Mockito ja integraatiotestit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Testauksen hallinta: JUnit, Mockito ja integraatiotestit-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Testauksen hallinta: JUnit, Mockito ja integraatiotestit-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Ehdolliset testit ja oletukset”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Testauksen hallinta: JUnit, Mockito ja integraatiotestit-oppitunnilla?

Kyllä. Jokainen Testauksen hallinta: JUnit, Mockito ja integraatiotestit-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Testien elinkaari ja suoritusjärjestys
  2. Parametroidut ja dynaamiset testit
  3. Poikkeustestaus ja aikakatkaisut
  4. Ehdolliset testit ja oletukset
← Takaisin: Testauksen hallinta: JUnit, Mockito ja integraatiotestit