V tej vadnici za enotno testiranje JavaScript bomo izvedeli:
Kaj je JavaScript?
- JavaScript je programski jezik, ki je opredeljen kot visokokakovosten, dinamičen in interpretiran jezik, ki se uporablja pri spletnih aplikacijah HTML
- JavaScript se uporablja tudi za druge spletne dokumente, kot so PDF-ji in pripomočki za namizje, in je postal priljubljen pri spletnih aplikacijah na strani strežnika
- JavaScript je objektni skript in sledi prototipu
Preizkušanje enote JavaScript
Preizkušanje enote JavaScript je preskusna metoda, pri kateri je preskusna koda JavaScript, napisana za spletno stran ali modul spletne aplikacije, kombinirana z HTML-jem kot vgrajenim upravljalnikom dogodkov in izvedena v brskalniku, da preveri, ali vse funkcije delujejo dobro. Ti enotni testi se nato organizirajo v testnem paketu.
Vsak paket vsebuje številne teste, ki jih je treba izvesti za ločen modul. Najpomembneje je, da niso v konfliktu z nobenim drugim modulom in se izvajajo z manj odvisnosti drug od drugega (nekatere kritične situacije lahko povzročijo odvisnosti).
Izzivi pri testiranju enote JavaScript
Obstajajo določene težave, ki jih lahko najdete med izvajanjem testiranja enot v JavaScript, kot so;
- Številni drugi jeziki podpirajo enotno testiranje v brskalnikih, tako v stabilnem kot tudi v okolju za izvajanje, JavaScript pa tega ne more
- Nekatera sistemska dejanja lahko razumete z drugimi jeziki, vendar to ne velja za JavaScript
- Nekateri JavaScript so napisani za spletno aplikacijo in imajo lahko več odvisnosti
- JavaScript je dobro uporabljati v kombinaciji z HTML in CSS, ne pa v spletu
- Težave pri upodabljanju strani in manipulaciji z DOM
- Včasih na zaslonu najdete sporočilo o napaki, na primer »Ne morem naložiti example.js« ali katero koli drugo napako JavaScript v zvezi z nadzorom različic, te ranljivosti spadajo v enotno testiranje JavaScript.
Da bi se izognili takim težavam, lahko to storite;
- Ne uporabljajte globalnih spremenljivk
- Ne manipulirajte z vnaprej določenimi predmeti
- Oblikujte osnovne funkcionalnosti, ki temeljijo na knjižnici
- Poskusite ustvariti majhne koščke funkcionalnosti z manjšimi odvisnostmi
Najboljši okviri za enotno testiranje JavaScript
Sledi kuriran seznam priljubljenih okvirov in orodij za testiranje enot JavaScript, ki se pogosto uporabljajo:
1. Unit.js: Znana je kot odprtokodna knjižnica trditev, ki se izvaja v brskalniku in Node.js. Je izredno združljiv z drugimi okviri za enotno testiranje JavaScript, kot so Mocha, Karma, Jasmine, QUnit, Protractor itd. Zagotavlja celoten dokumentiran API seznama trditev
2. QUnit: Uporablja se tako za testiranje enote JavaScript na strani odjemalca kot tudi za strežnik. Ta brezplačni JavaScript testni okvir se uporablja za projekte jQuery. Sledi Common JS unit testing Specification za enotno testiranje v JavaScript. Podpira razpored dolgoročne podpore vozlišča.
3. Jasmine: Jasmine je vedenjsko usmerjen razvojni okvir za enotno testiranje JavaScript-a. Uporablja se za testiranje sinhrone in asinhrone kode JavaScript. Ne zahteva DOM-a in ima enostavno sintakso, ki jo lahko zapišete za kateri koli test.
4. Karma: Karma je odprtokodno produktivno testno okolje. Preprost nadzor poteka dela v ukazni vrstici. Ponuja svobodo pisanja testov z Jasmine, Mocha in QUnit. Preizkus lahko izvajate na resničnih napravah z enostavnim odpravljanjem napak.
5. Mocha: Mocha deluje na Node.js in v brskalniku. Mocha na preprostejši način izvaja asinhrono testiranje. Zagotavlja natančnost in prilagodljivost poročanja. Nudi izjemno podporo bogatim funkcijam, kot so časovne omejitve, specifične za preizkus, API-ji JavaScript itd.
6. Jest: Facebook Jest doslej uporablja za testiranje vse kode JavaScript. Zagotavlja izkušnjo testiranja z „ničelno konfiguracijo“. Podpira neodvisen in neprekinjen tekaški test brez konfliktov. Ne zahtevajo nobene druge nastavitvene konfiguracije in knjižnic.
7. AVA: AVA je preprost okvir za preskušanje enot JavaScript. Testi se izvajajo vzporedno in zaporedno. Vzporedni testi se izvajajo, ne da bi se medsebojno motili. AVA podpira tudi asinhrono testiranje. AVA uporablja podprocese za zagon enote za preskus JavaScript.
Povzetek
- Preizkušanje enote JavaScript lahko včasih postane dolgočasno in zapleteno, saj se v bistvu izvaja za front-end. Knjižnice JS lahko uporabimo za lažjo dodajanje. Izziv bi lahko postal večji, ko se JavaScript vključi v Node.js in TypeScript.
- Med izvajanjem testa morate imeti v mislih tri stvari, kot so; Značilnost, ki jo je treba preizkusiti, končni izhod in pričakovani izhod. Nekatera orodja in okvir za testiranje JavaScript vam lahko pomagajo pri izvajanju te naloge. Zgoraj omenjeni seznami orodij so omenjeni z najbolj priljubljenimi in uporabnimi okviri, ki se uporabljajo za enotno testiranje JavaScript.
- Bolj kot ti s prihajajočimi izzivi pri izvajanju tamkajšnjega testiranja se bodo v prihodnosti lahko razvili nekateri močnejši okviri in orodja.