Tutustu näihin luokkansa parhaisiin pakkauksiin saadaksesi parhaat Noden tarjoamat testaustoiminnot.
Testaus on tärkeä osa mitä tahansa ohjelmistokehitysprosessia, koska se tunnistaa koodisi ongelmat ja tietoturva-aukkoja ennen sen lähettämistä.
Node.js-ekosysteemi tarjoaa erilaisia testauspaketteja, joiden avulla voit varmistaa sovellusten luotettavuuden, laadun ja suorituskyvyn. Täällä voit tutkia neljää parasta testauspakettia Node.js-ekosysteemissä.
Jest on testauskehys, joka tarjoaa helppokäyttöisen ja kattavan testausratkaisun JavaScript-koodikannoille. Metan kehittämä Jest tarjoaa ominaisuuksia, kuten rinnakkaistestin suorittamisen, koodin peiton, sisäänrakennetun vastineet väitteisiin, pilkkaamiseen ja tilannekuvatestaukseen, mikä tekee siitä tehokkaan ja monipuolisen testauksen puitteet.
Voit asentaa Jestin suorittamalla alla olevan komennon:
npm install --save-dev jest
Tässä esimerkki havainnollistaa testataan Jestin kanssa funktiolle, joka tarkistaa, onko luku pariton:
kuvaile ("on Odd", () => {
testata("palauttaa tosi parittomille numeroille", () => {
odottaa (isOdd(3)).olla(totta);
});testata("palauttaa false parilliselle luvulle", () => {
odottaa (isOdd(2)).olla(väärä);
});testata("antaa virheen syötteelle, joka ei ole kokonaisluku", () => {
odottaa(() => {
isOdd(3.5);
}).heittää("Syöte ei ole kokonaisluku");
});
testata("antaa virheen ei-numeeriselle syötölle", () => {
odottaa(() => {
isOdd("3");
}).heittää("Syöte ei ole numero");
});
});
Kun suoritat yllä olevan testipaketin, Jest suorittaa jokaisen yksittäisen testin ja vertaa funktion tulosta odotettuun arvoon käyttämällä odottaa toiminto ja olla ja heittää matchers. Jos tulos ei ole odotusten mukainen, Jest raportoi epäonnistuneen testin ja antaa yksityiskohtaisen virheilmoituksen.
Jestillä on myös sisäänrakennettu tuki pilaavien toimintojen toteutuksille. Lisäksi sillä on suuri aktiivinen yhteisö säännöllisillä päivityksillä ja parannuksilla.
Mocha on JavaScript-testauskehys, joka tarjoaa joustavan ja laajennettavan ratkaisun JavaScript-sovellusten testien kirjoittamiseen. Se tarjoaa yksinkertaisen ja minimalistisen syntaksin testien määrittelyyn.
Se tukee useita vahvistuskirjastoja, kuten Node.js: n sisäänrakennettua väittää moduuli, Chai ja Should.js, mm. Tämä tuki useille väittämiskirjastoille tekee Mochasta ihanteellisen valinnan, jos haluat joustavuutta testausasetuksissasi.
Voit asentaa Mochan suorittamalla alla olevan komennon:
npm asentaa mokka
Tässä on esimerkki testaamisesta Mochan ja Node.js: n kanssa väittää moduuli funktiolle, joka palauttaa kahden luvun summan:
konst väittää = vaatia('väittää');
kuvaile ('addNumbers', toiminto() {
se("Lisää kaksi positiivista numeroa", toiminto() {
konst tulos = addNumbers(3, 5);
assert.strictEqual (tulos, 8);
});
se("Lisää positiivinen ja negatiivinen luku", toiminto() {
konst tulos = addNumbers(3, -5);
assert.strictEqual (tulos, -2);
});
});
Kun suoritat yllä olevan testin, Mocha suorittaa jokaisen yksittäisen testin se lohkot. Jokaiselle testille Mocha suorittaa koodin testifunktiossa, joka kutsuu addNumbers toimintoa tietyillä syöttöarvoilla ja käyttää sitten väittää moduuli verrata funktion todellista lähtöä odotettuun ulostuloon. Jos testi epäonnistuu, Mocha raportoi tuloksen epäonnistuneena ja antaa tietoa odotetuista ja todellisista lähtöarvoista.
Yksi Mochan tärkeimmistä eduista on sen joustavuus, koska sen avulla voit valita omat väitekirjastosi, toimittajasi ja muut kokoonpanosi tarpeidesi mukaan. Mocha vaatii kuitenkin lisäasetuksia ominaisuuksiin, kuten pilkkaamiseen ja tilannekuvatestaukseen, koska se ei sisällä niitä valmiina. Jestiin verrattuna Mocha saattaa vaatia enemmän määrityksiä ja asetuksia samanlaisten ominaisuuksien saavuttamiseksi.
Ava on JavaScript-testauskehys, joka keskittyy suorituskykyyn ja samanaikaisuuteen. Se on suunniteltu suorittamaan testejä samanaikaisesti, mikä mahdollistaa nopeammat testien suoritusajat. Avassa on myös sisäänrakennettu testiajo ja väitekirjasto, joten se on itsenäinen ratkaisu JavaScript-sovellusten testaamiseen.
Voit asentaa Ava suorittamalla alla olevan komennon:
npm install --save-dev ava
Tässä on esimerkki testaamisesta Avalla funktiolle, joka palauttaa kahden luvun summan:
tuonti testata alkaen'ava';
testata("addNumbers lisää kaksi positiivista numeroa", t => {
konst tulos = addNumbers(3, 5);
t.is (tulos, 8);
});
testata("addNumbers lisää positiivisen ja negatiivisen luvun", t => {
konst tulos = addNumbers(3, -5);
t.is (tulos, -2);
});
Kun suoritat nämä testit Avalla, se suorittaa jokaisen testin ja raportoi tulokset konsoliin. Jos kaikki testit läpäisevät, Ava ilmoittaa, että kaikki testit ovat läpäisseet. Jos jokin testi epäonnistuu, Ava raportoi, mitkä testit ovat epäonnistuneet, ja antaa tietoja odotetuista ja todellisista lähtöarvoista.
Joitakin Avan etuja ovat sen keskittyminen suorituskykyyn ja samanaikaisuuteen, mikä mahdollistaa nopeammat testien suoritusajat, erityisesti projekteissa, joissa on suuri määrä testejä. Avalla voi kuitenkin olla jyrkempi oppimiskäyrä kehittäjille, jotka ovat uusia nykyaikaisessa JavaScript-syntaksissa, koska se käyttää ES-moduulit ja muita moderneja JavaScript-ominaisuuksia.
Jasmine on käyttäytymisohjattu kehitys (BDD) testauskehys JavaScript-sovelluksille. Se tarjoaa puhtaan ja ilmeikkään syntaksin kokeiden kirjoittamiseen, jotka muistuttavat läheisesti luonnollista kieltä, mikä tekee testien ymmärtämisestä ja kirjoittamisesta helppoa sekä teknisille että ei-teknisille ihmisille. Jasminessa on myös sisäänrakennettu testiajo ja väitekirjasto, mikä tekee siitä kattavan ratkaisun JavaScript-sovellusten testaamiseen.
Voit asentaa Jasmine suorittamalla tämän komennon:
npm install --save-dev jasmine
Sitten sinun on alustettava Jasmine työhakemistoosi suorittamalla alla oleva komento:
jasmine init
Yllä oleva komento luo a tuki kansio omassasi spec (Testit) -kansioon. Tämä kansio sisältää jasmine.json tiedosto, joka sisältää Jasmine-määritysasetukset.
Tässä on esimerkki, jossa testataan Jasminella funktiota, joka tarkistaa, onko luku parillinen:
kuvaile ('on tasan', toiminto() {
se("Palauta tosi parilliselle luvulle", toiminto() {
konst tulos = isEven(4);
odottaa (tulos).toBe(totta);
});
se("Palauta epätosi paritolle numerolle", toiminto() {
konst tulos = isEven(5);
odottaa (tulos).toBe(väärä);
});
});
Kun suoritat yllä olevat testit Jasminella, Jasmine suorittaa jokaisen testin ja raportoi tulokset konsoliin. Jos kaikki testit läpäisevät, Jasmine ilmoittaa, että kaikki testit ovat läpäisseet. Jos jokin testi epäonnistuu, Jasmine raportoi, mitkä testit ovat epäonnistuneet, ja antaa tietoja odotetuista ja todellisista lähtöarvoista.
Joitakin Jasminen etuja ovat sen BDD-syntaksi, joka tekee testeistä luettavampia ja auttaa parantamaan teknisten ja ei-teknisten tiimien jäsenten välistä viestintää. Jasminella voi kuitenkin olla jyrkempi oppimiskäyrä kehittäjille, jotka ovat uusia BDD-konsepteissa. On kuitenkin syytä huomata, että muihin testauskehikkoihin verrattuna Jasmine vaatii paljon määrityksiä.
Testauskehyksen valitseminen
Testauskehyksen valitseminen Node.js-projektille edellyttää useiden tekijöiden huolellista harkintaa, mukaan lukien testausmenetelmä, helppokäyttöisyys, yhteisön tuki, integrointi muihin työkaluihin ja esitys. Mutta viime kädessä valinta riippuu projektistasi, koska jotkut paketit sopivat paremmin tiettyihin projekteihin kuin toiset.