Ohjelmointi

10 luotettavaa JavaScript-testityökalua

Tarve testata JavaScript-koodia on yksinkertainen. Kuinka muuten pidetään poissa virheistä ja varmistetaan, että sovellukset toimivat sujuvasti selaimessa tai Node.js: ssä? Onneksi kehittäjillä on lukemattomia vaihtoehtoja JavaScript-testauksessa.

Testirungot ja kehykset yksikötestaukseen, integraatiotestaukseen ja toiminnalliseen testaukseen ovat helposti saatavana JavaScript-ekosysteemille, peittoalue Node.js: lle ja selaimille sekä Angular- ja React-kehyksille. Seuraavassa on 10 monista merkittävistä vaihtoehdoista, joita JavaScript-kehittäjien on autettava heitä testaamaan sovelluksiaan.

AVA

AVA on Node.js: n testijuoksija, joka tarjoaa ytimekkään API: n, yksityiskohtaisen virhelähdön ja tuen uusille kieliominaisuuksille ja prosessin eristämiselle. AVA soveltuu parhaiten Node.js-moduulien ja palvelinsovellusten testaamiseen, mutta ehkä ei käyttöliittymäsovellusten testaamiseen. AVA tarjoaa ominaisuuksiensa joukossa ominaisuuden, jolla testi voidaan merkitä tehtäväksi. Jokainen testitiedostoajo on erillinen prosessi. Muita mainittuja etuja ovat AVA: n minimalismi ja nopeus, yksinkertainen testisyntakse ja kyky suorittaa testejä samanaikaisesti. AVA tukee myös asynkronointitoimintoja ja havaittavia ominaisuuksia - havaittavissa oleva tyyppi, jota voidaan käyttää mallinnamaan push-pohjaisia ​​tietolähteitä, kuten DOM-tapahtumia.

Asenna AVA

Ohjeet AVA: n asentamiseen löytyvät projektin GitHub-sivulta.

Kurkku.js

Cucumber-testityökalun JavaScript-toteutus Cucumber.js toimii ylläpidetyillä Node.js-versioilla ja moderneilla verkkoselaimilla. Kurkku-projekti mainitsee edut, mukaan lukien tiimiviestinnän ja kyvyn suorittaa automatisoituja testejä, jotka on kirjoitettu "tavallisella" kielellä, mikä tarkoittaa, että kuka tahansa tiimin jäsenistä voi lukea ne. Siten viestintää, yhteistyötä ja luottamusta voidaan parantaa. Cucumber.js sisältää suoritettavan tiedoston testipakettien ajamiseksi (kutsutaan ominaisuuksiksi), joten se ei toimi, kun se asennetaan maailmanlaajuisesti. (Kurkkua on vaadittava tukitiedostoissa, eikä globaalisti asennettuja moduuleja vaadita.)

Asenna Cucumber.js

Ohjeet Cucumber.js: n asentamiseen ovat saatavilla GitHubissa.

Entsyymi

Entsyymi on React JavaScript UI -kirjaston testausapuohjelma. Sen on tarkoitus helpottaa React-komponenttien tuotoksen testaamista. Kehittäjät voivat manipuloida, kulkea ja simuloida ajonaikaa lähdön perusteella. Entsyymi-sovellusliittymä jäljittelee jQuery-sovellusliittymää DOM-manipulointiin ja kulkemiseen. Entsyymi on irrottamaton testijuoksijasta tai väitekirjastosta. Jos kehittäjät haluavat käyttää Entsyymiä mukautettujen väitteiden ja mukavuustoimintojen avulla React-komponenttien testaamiseen, he voivat harkita chai-entsyymi Mocha / Chain kanssa, jasmiini-entsyymi Jasmiinin kanssa tai jest-entsyymi Jestin kanssa. Entsyymiä voidaan käyttää myös React Native -komponenttien testaamiseen.

Asenna Entsyymi

Entsyymin asennusohjeet löytyvät GitHubista.

Karma

Karma on Java-testin juoksija, joka mahdollistaa koodin suorittamisen useissa selaimissa. Kaikki tärkeimmät selaimet, mukaan lukien mobiiliselaimet, ovat tuettuja. Hankkeen kehittäjät sanovat, että Karma tarjoaa ympäristön, jossa kehittäjien ei tarvitse asettaa paljon kokoonpanoja, mutta he voivat kirjoittaa koodia ja saada välitöntä palautetta testeistä. Karma on suunniteltu matalan tason (yksikkö) testaukseen. Ei testauskehys tai väitekirjasto, mutta Karma käynnistää HTTP-palvelimen ja luo testijuoksijatiedoston kehittäjän suosikkitestauskehyksestä. Laajennuksia tarjotaan kehyksille, kuten Jasmine, Mocha ja QUnit.

Asenna Karma

Ohjeet Karman asentamiseen ovat saatavilla GitHubissa.

Jasmiini

Jasmiinia laskutetaan "käyttäytymislähtöisenä" kehyksenä JavaScriptien testaamiseen. Se ei ole riippuvainen muista JavaScript-kehyksistä eikä vaadi DOM: ää. Sen kannattajat mainitsevat sen syntaksin mahdollistavan testien helpon kirjoittamisen. Pivotal Labsin ylläpitämä Jasmine sopii verkkosivustojen, Node.js-projektien ja kaiken muun, missä JavaScript voi toimia, testaamiseen. Jasmine on tarkoitettu tuomaan testaamisen helpoksi useille erilaisille käyttötapauksille ja selaimille, ja se on JavaScript-kehyksen agnostikko, jonka avulla kehittäjät voivat testata React- tai Angular-koodia tai mitä tahansa muuta JavaScript-kirjastoa. Jasmine pyrkii vähäisiin riippuvuuksiin pysyessään pieninä ja ylläpidettävinä.

Asenna Jasmine

Ohjeet Jasminen asentamiseen ja Jasminen käytön aloittamiseen ovat GitHubissa.

Jest

Jestiä laskutetaan kattavaksi JavaScript-testausratkaisuksi, joka toimii heti laatikosta, konfigurointivapaasti useimmille JavaScript-projekteille. Testeillä on ainutlaatuinen globaali tila, ja ne voidaan suorittaa rinnakkain. Aikaisemmin epäonnistuneet testit suoritetaan ensin, ja ajot järjestetään uudelleen testitiedostojen pituuden perusteella. Toimii vain suosittujen JavaScript-tekniikoiden, kuten Angular, Babel, Node.js, React ja Vue, kanssa. Testit voidaan suorittaa suurten kohteiden seurantaa varten, testikuvien rinnalla elävillä tilannevedoksilla tai upotettuna sisäänpäin. Testitiedostoissa Jest sijoittaa menetelmät ja objektit globaaliin ympäristöön, eikä niitä tarvitse tuoda.

Asenna Jest

Jestin asennusohjeet ovat GitHubissa.

Luna

Luna on JavaScriptiä käsittelevä yksikkötestauskehys, joka ei vaadi määrityksiä. Kehittäjät voivat saada ensimmäiset testit suorittamaan muutamassa minuutissa, tuotedokumentaatiossa todetaan. Koodin kattavuusraportit luodaan asentamatta muita moduuleja. Testit on kirjoitettava ES6-moduuleina, testit suoritetaan oletuksena selaimessa. Samanaikaisuutta tuetaan, ja testiryhmät suoritetaan rinnakkain. Luna oli osittain innoittamana sisäänrakennetusta testauksesta, joka oli käytettävissä Google's Go -kielellä. Luna ei sovi uudelleensiirtoon, joten ei toimi CoffeeScript- tai TypeScript-versioiden kanssa. Siltä puuttuu myös tuki vanhemmille selaimille.

Asenna Luna

Ohjeet Lunan asentamiseen ovat saatavilla GitHubissa.

Mocha

Monipuolinen testikehys, joka toimii Node.js: llä ja selaimessa, Mocha lupaa tehdä asynkronisen koodin testaamisesta "yksinkertaista ja hauskaa". Testit suoritetaan sarjaan, mikä kannattajien mukaan mahdollistaa tarkan ja joustavan raportoinnin samalla kun kartoitetaan tahattomat poikkeukset tarkkoihin testitapauksiin. Jatkuvassa testauksessa kehittäjät voivat Wallaby.js-työkalun avulla ottaa reaaliaikaisen koodin peiton Mochalle millä tahansa väitekirjastolla. Mocha integroituu myös sovelluskehyksiin, kuten Konachan kautta, jonka avulla kehittäjät voivat testata JavaScriptiä Ruby on Rails -sovelluksissa Mochan avulla. Saatavilla on myös useita muokkauslaajennuksia, kuten Visual Studio -koodin Mocha-sivupalkin laajennus.

Asenna Mocha

Ohjeet Mochan asentamiseen ja Mochan monien ominaisuuksien dokumentaatio ovat saatavilla projektin verkkosivustolla.

Astelevy

Protractor on end-to-end-testauskehys Angularille ja sen edeltäjälle, AngularJS: lle. Testit suoritetaan selaimen sovelluksia vastaan, Proctractor on vuorovaikutuksessa sovelluksen kanssa aivan kuten käyttäjä tekisi. Kulmakohtaisia ​​paikannusstrategioita tuetaan kulmaelementtien testaamiseksi ilman asetuksia. Automaattinen odotustoiminto antaa protraktorin suorittaa testin seuraavan vaiheen heti, kun verkkosivu suorittaa odottavat testit. Astelevy rakennettiin WebdriverJS: n päälle, joka on Selenium-selaimen automaatiotyökalun JavaScript-toteutus.

Asenna astelevy

Protractorin asennusohjeet löytyvät Protractor-verkkosivustolta.

QUnit

QUnit on JavaScriptiyksikön testikehys, jota käyttävät JQuery-, jQuery UI- ja jQuery Mobile -projektit. Itse asiassa QUnitin kehitti alun perin osana jQueryä jQueryn keksijä John Resig. QUnit on laskutettu niin nopeasti ja helposti käytettäväksi, API: lla, joka on harkittu, mutta laiha ja laajennettavissa, ja sitä voidaan käyttää minkä tahansa yleisen JavaScript-koodin testaamiseen. Kun testi tai väite epäonnistuu, QUnit lupaa antaa palautetta mahdollisimman nopeasti riittävän yksityiskohtaisesti ongelman selvittämiseksi. QUnitissä olevat vakuutusmenetelmät noudattavat CommonJS-yksikön testausmäärityksiä. QUnit tukee jQuery 3.x: n tukemia selaimia, mukaan lukien Chrome-, Edge-, Firefox-, Internet Explorer- ja Safari-versiot.

Asenna QUnit

Voit ladata ja asentaa QUnitin QUnitin verkkosivustolta tai jQuery.cdn-tiedostosta.

$config[zx-auto] not found$config[zx-overlay] not found