Mikä on Junit Assert?
Assert on menetelmä, joka on hyödyllinen määritettäessä testitapauksen hyväksytty tai hylätty tila. Assert-menetelmät tarjoaa luokka org.junit.Assert, joka laajentaa java.lang.Object-luokkaa.
On olemassa erilaisia väitteitä, kuten Boolean, Null, Identical jne.
Junit tarjoaa luokan Assert, joka tarjoaa joukon vakuutusmenetelmiä, jotka ovat hyödyllisiä testitapausten kirjoittamisessa ja testivirheiden havaitsemisessa
Vahvistusmenetelmät tarjoaa luokka org.junit.Assert, joka laajentaa java.lang.Object- luokkaa.
Tässä opetusohjelmassa opit-
- JUnit Assert -menetelmät
- Boolen
- Nolla esine
- Identtinen
- Vahvista yhtäläisyyksiä
- Vahvista taulukon yhtälöt
- Epäonnistunut viesti
- JUnit väittääEquals
- Liukulukuväitteet
- JUnit-esimerkki
JUnit Assert -menetelmät
Boolen
Jos haluat testata loogiset olosuhteet (tosi tai epätosi), voit käyttää seuraavia vakuutusmenetelmiä
- assertTrue (kunto)
- assertFalse (ehto)
Tässä ehto on looginen arvo.
Nolla esine
Jos haluat tarkistaa objektin / muuttujan alkuperäisen arvon, sinulla on seuraavat menetelmät:
- assertNull (esine)
- assertNotNull (objekti)
Tässä objekti on Java-objekti, esim. AssertNull (todellinen);
Identtinen
Jos haluat tarkistaa, ovatko objektit identtisiä (ts. Vertaamalla kahta viittausta samaan java-objektiin) vai erilaisia.
- assertSame (odotettu, todellinen), Se palauttaa arvon totta, jos odotetaan == todellinen
- assertNotSame (odotettu, todellinen)
Vahvista yhtäläisyyksiä
Jos haluat testata kahden objektin tasa-arvoa, sinulla on seuraavat menetelmät
- assertEquals (odotettu, todellinen)
Se palauttaa arvon tosi, jos: odotettu. Yhtäsuuri (todellinen) palauttaa arvon tosi.
Vahvista taulukon yhtälöt
Jos haluat testata matriisien tasa-arvoa, sinulla on seuraavat menetelmät alla esitetyllä tavalla:
- assertArrayEquals (odotettu, todellinen)
Edellä mainittua menetelmää on käytettävä, jos matriiseilla on sama pituus , voit tarkistaa sen jokaiselle i: n kelvolliselle arvolle seuraavasti:
- assertEquals (odotettu [i], todellinen [i])
- assertArrayEquals (odotettu [i], todellinen [i])
Epäonnistunut viesti
Jos haluat heittää väitevirheen, sinulla on Fail (), joka johtaa aina epäonnistuneeseen tuomioon.
- Fail (viesti);
Sinulla voi olla vahvistamismenetelmä, jossa ylimääräinen String- parametri on ensimmäinen parametri. Tämä merkkijono liitetään epäonnistumisviestiin, jos väite epäonnistuu. Esimerkiksi epäonnistuminen (viesti) voidaan kirjoittaa muodossa
- assertEquals (viesti, odotettu, todellinen)
JUnit väittääEquals
Sinulla on assertEquals (a, b), joka perustuu Object-luokan equals () -menetelmään.
- Tässä se arvioidaan a. Yhtälöiksi (b).
- Tässä testattavaa luokkaa käytetään sopivan tasa-arvo-suhteen määrittämiseen.
- Jos luokka ei ohita Object- luokan equals () -menetelmää , se saa metodin equals () oletuskäyttäytymisen eli objektin identiteetin.
Jos a ja b ovat primitiivejä, kuten tavu , int , looginen luku jne., Seuraava tehdään assertEquals (a, b):
a ja b muunnetaan vastaavaksi kääreobjektityypiksi ( tavu, kokonaisluku , looginen luku jne.), ja sitten a. yhtälöt (b) arvioidaan.
Esimerkki: Harkitse alla mainittuja merkkijonoja, joilla on samat arvot, testataan sitä käyttämällä assertTrue-ohjelmaa
Merkkijono obj1 = "Junit";Merkkijono obj2 = "Junit";assertEquals (obj1, obj2);
Yllä olevan väitteen lauseke palauttaa arvon true, koska obj1.equals (obj2) palauttaa arvon true.
Liukulukuväitteet
Kun haluat vertailla liukuluku tyypit (esim kaksinkertainen tai kellua ), tarvitaan toinen pakollinen parametri delta välttää ongelmia pyöristysvirheitä kun tekee liukuluku vertailuja.
Väite arvioidaan seuraavalla tavalla:
- Math.abs (odotettavissa - todellinen) <= delta
Esimerkiksi:
assertEquals (aDoubleValue, anotherDoubleValue, 0,001)
JUnit-esimerkki
Seuraava esimerkki osoittaa, miten ehto voidaan vahvistaa JUnit-vakuutusmenetelmillä.
Luodaan yksinkertainen testiluokka nimeltä Junit4AssertionTest.java ja testijuoksija TestRunner.java .
Luodaan muutama muuttuja ja tärkeät väitearvot JUnitissa.
Tässä esimerkissä suoritat testiluokan käyttämällä TestRunner.java-ohjelmaa
Vaihe 1) Luodaan luokka, joka kattaa kaikki tärkeät väitemenettelyt junitissa:
Junit4AssertionTest.java
paketti guru99.junit;tuo staattinen org.junit.Assert. *;tuoda org.junit.Test;julkinen luokka Junit4AssertionTest {@Testatapublic void testAssert () {// MuuttujailmoitusMerkkijono1 = "Junit";Merkkijono2 = "Junit";Merkkijono string3 = "testi";Merkkijono string4 = "testi";Merkkijono string5 = null;int muuttuja 1 = 1;int muuttuja2 = 2;int [] airethematicArrary1 = {1, 2, 3};int [] airethematicArrary2 = {1, 2, 3};// Väittäkää lausunnotassertEquals (merkkijono1, merkkijono2);assertSame (merkkijono3, merkkijono4);assertNotSame (merkkijono1, merkkijono3);assertNotNull (merkkijono1);assertNull (merkkijono5);assertTrue (muuttuja1Vaihe 2) Sinun on luotava testijuoksija-luokka suoritettavaksi luokan yläpuolella:
TestRunner.java
paketti guru99.junit;tuo org.junit.runner.JUnitCore;tuo org.junit.runner.Result;tuo org.junit.runner.notification.Failure;julkinen luokka TestRunner {public staattinen void main (String [] argumentoi) {Tulos = JUnitCore.runClasses (Junit4AssertionTest.class);for (epäonnistumisvirhe: tulos.getFailures ()) {System.out.println (vika.String ());}System.out.println ("Tulos ==" + tulos.Onnistui ());}}Vaihe 3) Analysoidaan odotettu tuotos vaiheittain:
Harkitse kaikki väittävät väitteet yksitellen:
- assertEquals (merkkijono1, merkkijono2);
Vertaa nyt merkkijonoa string1 = "Junit" merkkijonoon2 = "Junit" objektiluokan equals-menetelmällä. Korvaa assertEquals-menetelmä java.lang.Object.equals () -menetelmästä:
string1.equals (string2) => palauttaa arvon true
Joten assertEquals (merkkijono1, merkkijono2) palauttaa arvon true .
- assertSame (merkkijono3, merkkijono4);
"assertSame ()" -toiminnolla tarkistetaan, että nämä kaksi objektia viittaavat samaan objektiin.
Koska string3 = "test" ja string4 = "test" tarkoittaa, että sekä string3 että string4 ovat samantyyppisiä, assertSame (string3, string4) palauttaa arvon true .
- assertNotSame (merkkijono1, merkkijono3);
"assertNotSame ()" -toiminnolla pyritään tarkistamaan, että nämä kaksi objektia eivät viittaa samaan objektiin.
Koska merkkijono1 = "Junit" ja string3 = "testi" tarkoittaa, että sekä merkkijono1 että merkkijono3 ovat erityyppisiä, assertNotSame (merkkijono1, merkkijono3) palauttaa arvon true .
- assertNotNull (merkkijono1);
"assertNotNull ()" -toiminnon tarkoituksena on tarkistaa, ettei objekti ole nolla.
Koska string1 = "Junit", joka ei ole nolla-arvo, niin assertNotNull (merkkijono1) palauttaa arvon true .
- assertNull (merkkijono5);
"assertNull ()" -toiminnolla tarkistetaan, että objekti on tyhjä.
Koska string5 = null, joka on nolla-arvo, niin assertNull (string5) palauttaa arvon true .
- assertTrue (muuttuja1
"assertTrue ()" -toiminnon tarkoituksena on tarkistaa, että ehto on totta.
Koska muuttuja1 = 1 ja muuttuja2 = 2, mikä osoittaa, että muuttuja1
tosi .
- assertArrayEquals (airethematicArrary1, airethematicArrary2);
"assertArrayEquals ()" -toiminnolla tarkistetaan, että odotettu taulukko ja tuloksena oleva taulukko ovat samat. Taulukon tyyppi voi olla int, pitkä, lyhyt, char, tavu tai java.lang.Object.
Koska airethematicArrary1 = {1, 2, 3} ja airethematicArrary2 = {1, 2, 3}, jotka osoittavat, että molemmat ryhmät ovat yhtä suuret, niin assertArrayEquals (airethematicArrary1, airethematicArrary2) palaa tosi.
Koska kaikki Junit4AssertionTest.java- luokan seitsemän väitettä ovat tosi, niin kun suoritat testin väiteluokan , se palauttaa onnistuneen testin. (katso lähtö alla)
Vaihe 4) Napsauta hiiren kakkospainikkeella Junit4AssertionTest.java ja napsauta runAs-> JUnit. Näet lähdön alla esitetyllä tavalla:
Yllä oleva tulos näyttää onnistuneen testituloksen odotetulla tavalla.
Yhteenveto:
Tässä opetusohjelmassa opit kaikki tärkeät JUnitin tarjoamat väitemenetelmät. Olet myös nähnyt esimerkkejä väittämistä. Mikä osoittaa, että jos kaikki väittämät palauttavat tosi, niin testi-GUI palauttaa tosi tuloksen ja jos yksittäinen testi epäonnistuu, se antaa epäonnistuneen tuloksen.