Apskatiet šīs savā klasē labākās pakotnes, lai iegūtu labāko testēšanas funkcionalitāti, ko Node var piedāvāt.
Testēšana ir svarīga jebkura programmatūras izstrādes procesa sastāvdaļa, jo tā pirms koda nosūtīšanas identificē problēmas un drošības ievainojamības.
Node.js ekosistēma piedāvā dažādas testēšanas pakotnes, lai palīdzētu nodrošināt lietojumprogrammu uzticamību, kvalitāti un veiktspēju. Šeit jūs izpētīsit četras populārākās testēšanas pakotnes Node.js ekosistēmā.
Jest ir testēšanas sistēma, kas nodrošina viegli lietojamu un visaptverošu JavaScript kodu bāzu testēšanas risinājumu. Meta izstrādātais Jest piedāvā tādas funkcijas kā paralēla testa izpilde, koda pārklājums, iebūvēts atbilstības apgalvojumiem, izsmiekliem un momentuzņēmumu testēšanai, padarot to par spēcīgu un daudzpusīgu testēšanu ietvaros.
Jest var instalēt, izpildot tālāk norādīto komandu:
npm install --save-dev jest
Šeit ir piemērs, kas parāda testēšana ar Jest funkcijai, kas pārbauda, vai skaitlis ir nepāra:
aprakstīt ( "ir Odd", () => {
pārbaude("atgriež patiesu nepāra skaitļa ievadei", () => {
sagaidīt (isOdd(3)).būt(taisnība);
});pārbaude("pāra skaitlim atgriež false", () => {
sagaidīt (isOdd(2)).būt(viltus);
});pārbaude("izdod kļūdu, ja ievade nav vesels skaitlis", () => {
gaidīt (() => {
ir Odd(3.5);
}).mest("Ievade nav vesels skaitlis");
});
pārbaude("izmet kļūdu neciparu ievadei", () => {
gaidīt (() => {
ir Odd("3");
}).mest("Ievade nav skaitlis");
});
});
Palaižot iepriekš minēto testu komplektu, Jest veiks katru atsevišķu testu un salīdzinās funkcijas izvadi ar paredzamo vērtību, izmantojot gaidīt funkcija un būt un mest matchers. Ja izvade nav tāda, kā gaidīts, Jest ziņo par neveiksmīgu pārbaudi un sniedz detalizētu kļūdas ziņojumu.
Jest ir arī iebūvēts atbalsts izsmieklu funkciju ieviešanai. Turklāt tai ir liela aktīva kopiena ar regulāriem atjauninājumiem un uzlabojumiem.
Mocha ir JavaScript testēšanas ietvars, kas nodrošina elastīgu un paplašināmu risinājumu JavaScript lietojumprogrammu testu rakstīšanai. Tas piedāvā vienkāršu un minimālistisku sintaksi testu definēšanai.
Tā atbalsta vairākas apgalvojumu bibliotēkas, piemēram, Node.js iebūvētās bibliotēkas apgalvot modulis, Chai un Should.js, cita starpā. Šis vairāku apgalvojumu bibliotēku atbalsts padara Mocha par ideālu izvēli, ja vēlaties testēšanas iestatījumu elastīgumu.
Mocha var instalēt, izpildot tālāk norādīto komandu:
npm instalēt mocha
Šeit ir piemērs, kas demonstrē testēšanu ar Mocha un Node.js apgalvot modulis funkcijai, kas atgriež divu skaitļu summu:
konst apgalvot = pieprasīt('apliecināt');
aprakstīt ('addNumbers', funkciju() {
tas ("Pievienot divus pozitīvus skaitļus", funkciju() {
konst rezultāts = addNumbers(3, 5);
assert.strictEqual (rezultāts, 8);
});
tas ("Pievienot pozitīvu un negatīvu skaitli", funkciju() {
konst rezultāts = addNumbers(3, -5);
assert.strictEqual (rezultāts, -2);
});
});
Veicot iepriekš minēto testu, Mocha izpilda katru atsevišķo testu to bloki. Katram testam Mocha izpilda kodu testa funkcijā, kas izsauc pievienot numurus funkciju ar noteiktām ievades vērtībām un pēc tam izmanto apgalvot modulis, lai salīdzinātu funkcijas faktisko izvadi ar paredzamo izvadi. Ja pārbaude neizdodas, Mocha ziņo par rezultātu kā neveiksmi un sniedz informāciju par paredzamajām un faktiskajām izvades vērtībām.
Viena no galvenajām Mocha priekšrocībām ir tās elastība, jo tā ļauj jums izvēlēties savas apgalvojumu bibliotēkas, reportierus un citu konfigurāciju atbilstoši jūsu vajadzībām. Tomēr Mocha ir nepieciešama papildu iestatīšana tādām funkcijām kā izsmiekls un momentuzņēmumu pārbaude, jo tas neietver tos no komplektācijas. Salīdzinot ar Jest, Mocha var prasīt vairāk konfigurācijas un iestatīšanas, lai iegūtu līdzīgas funkcijas.
Ava ir JavaScript testēšanas sistēma, kas koncentrējas uz veiktspēju un vienlaicību. Tas ir paredzēts testu vienlaicīgai palaišanai, kas nodrošina ātrāku testa izpildes laiku. Ava ir arī aprīkots ar iebūvētu testa palaišanas programmu un apgalvojumu bibliotēku, padarot to par autonomu risinājumu JavaScript lietojumprogrammu testēšanai.
Varat instalēt Ava, izpildot tālāk norādīto komandu:
npm install --save-dev ava
Tālāk ir sniegts piemērs, kas demonstrē testēšanu ar Ava funkcijai, kas atgriež divu skaitļu summu:
imports pārbaude no'ava';
pārbaude("addNumbers pievieno divus pozitīvus skaitļus", t => {
konst rezultāts = addNumbers(3, 5);
t.is (rezultāts, 8);
});
pārbaude(“addNumbers pievieno pozitīvu un negatīvu skaitli”, t => {
konst rezultāts = addNumbers(3, -5);
t.is (rezultāts, -2);
});
Palaižot šos testus, izmantojot Ava, tas izpildīs katru testu un ziņos par rezultātiem konsolei. Ja visi testi ir izturējuši, Ava ziņos, ka visi testi ir izturēti. Ja kāds tests neizdodas, Ava ziņos, kuri testi ir bijuši nesekmīgi, un sniegs informāciju par paredzamajām un faktiskajām izvades vērtībām.
Daži no Ava priekšrocībām ietver tās koncentrēšanos uz veiktspēju un vienlaicību, kas ļauj ātrāk veikt testa izpildi, īpaši projektos ar lielu skaitu testu. Tomēr Ava var būt stāvāka mācīšanās līkne izstrādātājiem, kuri ir iesācēji mūsdienu JavaScript sintakse, jo tā izmanto ES moduļi un citas mūsdienu JavaScript funkcijas.
Jasmine ir uz uzvedību orientēta izstrādes (BDD) testēšanas sistēma JavaScript lietojumprogrammām. Tas nodrošina tīru un izteiksmīgu sintaksi testu rakstīšanai, kas ļoti atgādina dabisko valodu, padarot to viegli saprotamu un rakstītu testus gan tehniskiem, gan netehniskiem cilvēkiem. Jasmine ir arī iebūvēts testa palaidējs un apgalvojumu bibliotēka, padarot to par visaptverošu risinājumu JavaScript lietojumprogrammu testēšanai.
Jasmine var instalēt, izpildot šo komandu:
npm install --save-dev jasmine
Pēc tam jums ir jāinicializē Jasmine savā darba direktorijā, izpildot tālāk norādīto komandu:
jasmīns init
Iepriekš minētā komanda ģenerē a atbalsts mapē jūsu spec (Testi) mapi. Šajā mapē atrodas jasmine.json failu, kurā ir Jasmine konfigurācijas iestatījums.
Tālāk ir sniegts piemērs, kas demonstrē funkciju, kas pārbauda, vai skaitlis ir pāra, testēšanu ar Jasmine:
aprakstīt ('irPastāv', funkciju() {
tas ("Atgriezt patiesu pāra skaitlim", funkciju() {
konst rezultāts = irEven(4);
gaidīt (rezultāts).toBe(taisnība);
});
tas ("Return false for add number", funkciju() {
konst rezultāts = irEven(5);
gaidīt (rezultāts).toBe(viltus);
});
});
Veicot iepriekš minētos testus, izmantojot Jasmine, Jasmine veiks katru testu un ziņos par rezultātiem konsolei. Ja visi testi ir izturējuši, Jasmine ziņos, ka visi testi ir izturējuši. Ja kāds tests neizdodas, Jasmine ziņos, kuri testi ir bijuši nesekmīgi, un sniegs informāciju par paredzamajām un faktiskajām izvades vērtībām.
Daži no Jasmine plusiem ietver tā BDD sintakse, kas padara testus saprotamākus cilvēkiem un palīdz uzlabot saziņu starp tehniskās un netehniskās komandas locekļiem. Tomēr Jasmīnam var būt stāvāka mācīšanās līkne izstrādātājiem, kuri ir jauni BDD koncepcijās. Tomēr ir vērts atzīmēt, ka, salīdzinot ar citām testēšanas sistēmām, Jasmine iestatīšanai ir nepieciešama liela konfigurācija.
Testēšanas ietvara izvēle
Izvēloties testēšanas sistēmu Node.js projektam, rūpīgi jāapsver vairāki faktori, tostarp testēšanas pieeja, lietošanas vienkāršība, kopienas atbalsts, integrācija ar citiem rīkiem un sniegumu. Bet galu galā izvēle ir atkarīga no jūsu projekta, jo dažas paketes ir labāk piemērotas konkrētiem projektiem nekā citas.