10 pouzdanih alata za testiranje JavaScript-a

Potreba za testiranjem JavaScript koda je jednostavna. Kako inače izbjeći bugove i osigurati nesmetano izvršavanje aplikacija u pregledniku ili na Node.js? Srećom, programeri imaju mnoštvo opcija kada je u pitanju JavaScript testiranje.

Programski pokretači i okviri za jedinstveno testiranje, integracijsko testiranje i funkcionalno testiranje lako su dostupni za JavaScript ekosustav, pokrivajući Node.js i preglednike, kao i Angular i React okvire. Slijedi 10 od mnogih značajnih opcija programera koji im trebaju pomoći da testiraju svoje aplikacije.

AVA

AVA je testni pokretač za Node.js koji nudi sažeti API, detaljan izlaz pogrešaka i podršku za nove jezične značajke i izolaciju procesa. AVA je najprikladniji za testiranje Node.js modula i poslužiteljskih aplikacija, ali možda ne i za testiranje UI aplikacija. Među svojim mogućnostima, AVA nudi značajku kojom se test označava kao zadatak koji treba obaviti. Svako pokretanje testne datoteke zaseban je postupak. Ostale navedene prednosti uključuju AVA-in minimalizam i brzinu, jednostavnu sintaksu testa i mogućnost istodobnog izvođenja testova. AVA također ima podršku za funkcije asinkronizacije i promatrane - vidljivi je tip koji se može koristiti za modeliranje izvora podataka utemeljenih na push-u, poput DOM događaja.

Instalirajte AVA

Upute za instaliranje AVA mogu se naći na GitHub stranici projekta.

Krastavac.js

Implementacija JavaScript alata za testiranje Cucumber Cucumber.js radi na održavanim verzijama Node.js i u modernim web preglednicima. Projekt Krastavac navodi prednosti, uključujući timsku komunikaciju i mogućnost izvođenja automatiziranih testova napisanih na "običnom" jeziku, što znači da ih svatko u timu može pročitati. Dakle, komunikacija, suradnja i povjerenje mogu se poboljšati. Cucumber.js uključuje izvršnu datoteku za pokretanje testnih paketa (zvane značajke), pa ne radi kada se instalira globalno. (Krastavac mora biti potreban u datotekama podrške, a globalno instalirani moduli ne mogu biti potrebni.)

Instalirajte Cucumber.js

Upute za instaliranje Cucumber.js dostupne su na GitHubu.

Enzim

Enzim je uslužni program za testiranje za React JavaScript UI knjižnicu. Namijenjen je olakšavanju testiranja izlaza React komponenata. Programeri mogu manipulirati, prelaziti i simulirati vrijeme izvođenja s obzirom na izlaz. Enzimski API oponaša jQuery API za DOM manipulaciju i prelazak. Enzim je neovlašten u vezi s pokretačem testa ili bibliotekom tvrdnji. Ako programeri žele koristiti Enzim s prilagođenim tvrdnjama i praktičnim funkcijama za testiranje React komponenata, mogu razmotriti chai-enzymes Mocha / Chai, jasmine-enzymeJasmineom ili jest-enzymeJestom. Enzim se također može koristiti za testiranje komponenata React Native.

Instalirajte Enzim

Upute za instaliranje Enzima mogu se naći na GitHubu. 

Karma

Karma je testni pokretač za JavaScript koji omogućuje izvršavanje koda u više preglednika. Podržani su svi glavni preglednici, uključujući preglednike za mobilne uređaje. Programeri koji stoje iza projekta kažu da Karma nudi okruženje u kojem programeri ne moraju postavljati gomilu konfiguracija, već mogu pisati kod i dobiti trenutne povratne informacije od testova. Karma je dizajnirana za testiranje na niskoj razini (jedinica). Nije okvir za testiranje ili knjižnica tvrdnji, Karma pokreće HTTP poslužitelj i generira datoteku za pokretanje testa iz omiljenog okvira za testiranje programera. Dodaci se nude za okvire kao što su Jasmine, Mocha i QUnit.

Instalirajte Karmu

Upute za instaliranje Karme dostupne su na GitHubu.

Jasmin

Jasmine se naplaćuje kao "ponašanjem vođen" okvir za testiranje JavaScript-a. Ne ovisi o drugim JavaScript okvirima i ne treba mu DOM. Njezini zagovornici navode njegovu sintaksu koja omogućuje lako pisanje testova. Održava ga Pivotal Labs, Jasmine je pogodan za testiranje web stranica, Node.js projekata i bilo čega drugog na čemu JavaScript može raditi. Jasmine je namijenjen olakšavanju testiranja u različitim slučajevima korištenja i preglednicima te je agnostički JavaScript okvir, omogućavajući programerima da mogu testirati kôd iz React-a ili Angular-a ili bilo koje druge JavaScript biblioteke. Jasmine teži minimalnim ovisnostima, a pritom ostaje mala i održiva.

Instalirajte Jasmine

Upute za instaliranje Jasmine i početak rada s Jasmine mogu se naći na GitHubu.

Jest

Jest se naplaćuje kao sveobuhvatno rješenje za testiranje JavaScript-a koje radi većinu, bez konfiguracije, za većinu JavaScript projekata. Testovi imaju jedinstveno globalno stanje i mogu se izvoditi paralelno. Prvo se izvode prethodno neuspjeli testovi, pri čemu se pokreti reorganiziraju na temelju duljine datoteka za testiranje. Samo radi s popularnim JavaScript tehnologijama, uključujući Angular, Babel, Node.js, React i Vue. Testovi se mogu izvoditi kako bi se evidentirali veliki objekti, uz snimke koje žive uz testove ili ugrađene u obliku. U testnim datotekama, Jest stavlja metode i objekte u globalno okruženje, bez potrebe za njihovim uvozom.

Instalirajte Jest

Upute za instalaciju Jest-a mogu se naći na GitHub-u. 

Luna

Luna je samopouzdani okvir za jedinstveno testiranje za JavaScript koji ne zahtijeva konfiguraciju. Programeri mogu započeti svoja prva jedinična ispitivanja u roku od nekoliko minuta, navodi se u dokumentaciji proizvoda. Izvješća o pokrivenosti koda generiraju se bez instaliranja bilo kakvih modula. Testovi moraju biti napisani kao ES6 moduli, a testovi se prema zadanim postavkama izvode u pregledniku. Podržana je istodobnost, a ispitne skupine rade paralelno. Luna je djelomično inspirirana ugrađenim testiranjem dostupnim za Googleov jezik Go. Luna ne prihvaća prepisivanje, pa neće raditi s CoffeeScriptom ili TypeScriptom. Nedostaje mu podrška i za starije preglednike. 

Instalirajte Luna

Upute za instalaciju Lune dostupne su na GitHubu. 

Moka

Okvir za testiranje bogat značajkama koji radi na Node.js-u i u pregledniku, Mocha obećava da će testiranje asinkronog koda učiniti "jednostavnim i zabavnim". Ispitivanja se izvode serijski, što zagovornici kažu da omogućuje precizno, fleksibilno izvještavanje, dok mapiranje neuhvaćenih iznimaka u točne ispitne slučajeve. Za kontinuirano testiranje, programeri mogu koristiti alat Wallaby.js kako bi omogućili pokrivanje koda u stvarnom vremenu za Mocha bilo kojom knjižnicom tvrdnji. Mocha se integrira i s aplikacijskim okvirima, poput Konache, što omogućava programerima da koriste Mocha za testiranje JavaScript-a u aplikacijama Ruby on Rails. Dostupni su i brojni dodaci za uređivanje, poput proširenja bočne trake Mocha za Visual Studio Code. 

Instalirajte Mocha

Upute za instaliranje Mocha i dokumentacija za mnoge značajke Moche dostupne su na web mjestu projekta. 

Kutomjer

Kutomjer je okvir za testiranje od kraja do kraja za Angular i njegovog prethodnika, AngularJS. Provode se testovi na aplikacijama u pregledniku, a Proctractor komunicira s aplikacijom baš kao što bi to učinio korisnik. Podržane su strategije lokatora specifične za kut, za testiranje kutnih elemenata bez ikakvog postavljanja. Mogućnost automatskog čekanja omogućuje Protraktoru da izvrši sljedeći korak u testu onog trenutka kada web stranica završi testove na čekanju. Kutomjer je izgrađen na vrhu WebdriverJS, JavaScript implementacije alata za automatizaciju preglednika Selenium koji se koristi za testiranje.

Instalirajte kutomjer

Upute za instaliranje kutomjera možete pronaći na web mjestu kutomjera. 

QUnit

QUnit je JavaScript testni okvir koji se koristi u projektima JQuery, jQuery UI i jQuery Mobile. Zapravo je QUnit izvorno razvio kao dio jQueryja izumitelj jQueryja John Resig. QUnit se naplaćuje brzo i jednostavno za upotrebu, s API-jem koji je pouzdan, ali mršav i proširiv, a može se koristiti za testiranje bilo kojeg generičkog JavaScript koda. Kada test ili tvrdnja ne uspiju, QUnit obećava da će pružiti povratne informacije što je brže moguće, s dovoljno detalja da bi se problem riješio. Metode tvrđenja u QUnit slijede specifikaciju zajedničkog testiranja CommonJS. QUnit podržava preglednike podržane jQuery 3.x, uključujući inačice Chromea, Edgea, Firefoxa, Internet Explorera i Safarija.

Instalirajte QUnit

QUnit možete preuzeti i instalirati s web stranice QUnit ili s jQuery.cdn.