Programovanie

10 dôveryhodných nástrojov na testovanie JavaScriptu

Potreba testovania kódu JavaScript je jednoznačná. Ako inak vylúčiť chyby a zabezpečiť hladký chod aplikácií v prehliadači alebo na serveri Node.js? Našťastie majú vývojári pri testovaní JavaScriptu nepreberné množstvo možností.

Testovacie bežce a rámce na testovanie jednotiek, testovanie integrácie a funkčné testovanie sú ľahko dostupné pre ekosystém JavaScriptu s pokrytím pre Node.js a prehliadače, ako aj pre rámce Angular a React. Nasleduje 10 z mnohých pozoruhodných možností, ktoré majú vývojári JavaScriptu pomôcť im testovať ich aplikácie.

AVA

AVA je testovací bežec pre Node.js, ktorý ponúka stručné API, podrobný chybový výstup a podporu nových jazykových funkcií a izolácie procesov. AVA je najvhodnejšia na testovanie modulov Node.js a serverových aplikácií, ale možno nie na testovanie aplikácií používateľského rozhrania. Medzi svojimi schopnosťami ponúka AVA funkciu označenia testu ako úlohy. Každé spustenie testovacieho súboru je samostatný proces. Medzi ďalšie uvádzané výhody patrí minimalizmus a rýchlosť spoločnosti AVA, jednoduchá syntax testu a schopnosť vykonávať testy súčasne. AVA má tiež podporu pre asynchronné funkcie a pozorovateľné objekty - pozorovateľný je typ, ktorý je možné použiť na modelovanie tlačených zdrojov údajov, ako sú udalosti DOM.

Nainštalujte AVA

Pokyny na inštaláciu AVA nájdete na stránke GitHub projektu.

Cucumber.js

Implementácia JavaScriptu testovacieho nástroja Cucumber, Cucumber.js beží na udržiavaných verziách Node.js a v moderných webových prehliadačoch. Projekt Uhorka uvádza výhody vrátane tímovej komunikácie a schopnosti spúšťať automatizované testy napísané „obyčajným“ jazykom, čo znamená, že si ich môže prečítať ktokoľvek v tíme. Môže sa tak zlepšiť komunikácia, spolupráca a dôvera. Cucumber.js obsahuje spustiteľný súbor na spustenie vašich testovacích balíkov (nazývaných funkcie), takže nefunguje, ak je nainštalovaný globálne. (V podporných súboroch sa musí vyžadovať uhorka a nemožno vyžadovať globálne nainštalované moduly.)

Nainštalujte Cucumber.js

Pokyny na inštaláciu súboru Cucumber.js sú k dispozícii na GitHub.

Enzým

Enzým je testovací nástroj pre knižnicu používateľského rozhrania React JavaScript. Účelom je uľahčiť testovanie výstupu komponentov React. Vývojári môžu na základe výstupu manipulovať, prechádzať a simulovať runtime. Rozhranie Enzyme API napodobňuje rozhranie jQuery API na manipuláciu a prechod DOM. Enzým je neobjavený v súvislosti s testovacím bežcom alebo knižnicou tvrdení. Ak chcú vývojári použiť Enzyme s vlastnými tvrdeniami a pohodlnými funkciami na testovanie komponentov React, môžu to zvážiť chai-enzým s Mocha / Chai, jazmínový enzým s Jasmínou, príp jest-enzým s Jestom. Enzým sa môže použiť aj na testovanie reagujúcich natívnych zložiek.

Nainštalujte si enzým

Pokyny na inštaláciu enzýmu nájdete na GitHub.

Karma

Karma je testovací bežec pre JavaScript, ktorý umožňuje vykonávanie kódu vo viacerých prehliadačoch. Podporované sú všetky hlavné prehľadávače vrátane mobilných. Vývojári za týmto projektom tvrdia, že Karma ponúka prostredie, kde vývojári nemusia nastavovať množstvo konfigurácií, ale môžu písať kódy a získavať okamžitú spätnú väzbu z testov. Karma je navrhnutá pre nízkoúrovňové (jednotkové) testovanie. Nie je to testovací rámec ani knižnica tvrdení, Karma spúšťa server HTTP a generuje súbor testovacieho bežca z obľúbeného testovacieho rámca vývojára. Doplnky sa ponúkajú pre rámce ako Jasmine, Mocha a QUnit.

Nainštalujte si Karma

Pokyny na inštaláciu Karmy sú k dispozícii na GitHub.

Jazmín

Jasmine sa účtuje ako rámec založený na chovaní pre testovanie JavaScriptu. Nemá závislosť od iných rámcov JavaScriptu a nepotrebuje DOM. Navrhovatelia uvádzajú jeho syntax ako umožnenie ľahkého písania testov. Jasmine, ktorú udržiavajú laboratóriá Pivotal Labs, je vhodná na testovanie webových stránok, projektov Node.js a všetkého iného, ​​kde je možné spustiť JavaScript. Jasmine má uľahčiť testovanie rôznych rôznych prípadov použitia a prehľadávačov a je agnostickou platformou JavaScriptu, ktorá umožňuje vývojárom testovať kód z React alebo Angular alebo z akejkoľvek inej knižnice JavaScriptu. Jasmína sa snaží o minimálne závislosti, pričom zostáva malá a udržiavateľná.

Nainštalujte Jasmine

Pokyny na inštaláciu Jasmine a začatie používania Jasmine nájdete na GitHub.

Jest

Jest je účtovaný ako komplexné riešenie na testovanie JavaScriptu, ktoré pre väčšinu projektov JavaScriptu funguje bez konfigurácie a bez konfigurácie. Testy majú jedinečný globálny stav a je možné ich spustiť paralelne. Najskôr sa spustia predtým neúspešné testy, pričom sa behy reorganizujú na základe dĺžky testovacích súborov. Funguje iba s populárnymi technológiami JavaScriptu vrátane Angular, Babel, Node.js, React a Vue. Môžu byť spustené testy na sledovanie veľkých objektov so snímkami žijúcimi popri testoch alebo vloženými vloženými riadkami. V testovacích súboroch vkladá Jest metódy a objekty do globálneho prostredia bez nutnosti ich importovania.

Nainštalujte Jest

Pokyny na inštaláciu Jest nájdete na GitHub.

Luna

Luna je mienkotvorný rámec pre testovanie jednotiek pre JavaScript, ktorý nevyžaduje žiadnu konfiguráciu. Vývojárom môže byť prvé testovanie jednotky spustené v priebehu niekoľkých minút, uvádza sa v dokumentácii k produktu. Správy o pokrytí kódu sa generujú bez inštalácie ďalších modulov. Testy musia byť napísané ako moduly ES6, testy sa predvolene spúšťajú v prehliadači. Súbežnosť je podporovaná a testovacie skupiny prebiehajú paralelne. Luna sa čiastočne inšpirovala zabudovaným testovaním dostupným pre jazyk Google’s Go. Luna nezodpovedá transpilácii, takže nebude fungovať s formátmi CoffeeScript ani TypeScript. Chýba mu tiež podpora starších prehliadačov.

Nainštalujte Lunu

Pokyny na inštaláciu Luny sú k dispozícii na GitHub.

Mocha

Mocha, testovací rámec bohatý na funkcie, ktorý beží na Node.js a v prehliadači, sľubuje, že testovanie asynchrónneho kódu bude „jednoduché a zábavné“. Testy sa vykonávajú sériovo, čo navrhovatelia tvrdia, že umožňujú presné a flexibilné vykazovanie a zároveň mapujú nezachytené výnimky na presné testovacie prípady. Na nepretržité testovanie môžu vývojári pomocou nástroja Wallaby.js povoliť pokrytie kódu v reálnom čase pre Mocha pomocou akejkoľvek knižnice tvrdení. Mocha sa integruje aj do aplikačných rámcov, napríklad prostredníctvom aplikácie Konacha, ktorá umožňuje vývojárom používať Mocha na testovanie JavaScriptu v aplikáciách Ruby on Rails. K dispozícii je tiež množstvo doplnkov editora, napríklad rozšírenie bočného panela Mocha pre Visual Studio Code.

Nainštalujte Mocha

Pokyny na inštaláciu Mocha a dokumentácia k mnohým funkciám Mocha sú k dispozícii na webových stránkach projektu.

Uhlomer

Protractor je end-to-end testovací rámec pre Angular a jeho predchodcu AngularJS. Testy sa vykonávajú proti aplikáciám v prehľadávači, pričom Proctractor s aplikáciou interaguje rovnako ako používateľ. Stratégie lokátora špecifické pre uhly sú podporované na testovanie uhlových prvkov bez akéhokoľvek nastavenia. Automatické čakanie umožňuje aplikácii Protractor vykonať ďalší krok v teste v okamihu, keď webová stránka dokončí čakajúce testy. Protractor bol postavený na vrchole WebdriverJS, implementácie JavaScriptu nástroja na automatizáciu selenového prehliadača použitého na testovanie.

Nainštalujte si uhlomer

Pokyny na inštaláciu Protractora nájdete na webovej stránke Protractor.

QUIT

QUnit je rámec na testovanie jednotiek JavaScript, ktorý sa používa v projektoch JQuery, jQuery UI a jQuery Mobile. V skutočnosti bol program QUnit pôvodne vyvinutý ako súčasť jQuery vynálezcom jQuery Johnom Resigom. Program QUnit sa účtuje ako rýchly a ľahko použiteľný s rozhraním API, ktoré je názorné, ale štíhle a rozšíriteľné, a je možné ho použiť na testovanie ľubovoľného generického kódu JavaScript. Ak test alebo tvrdenie zlyhajú, program QUnit sľubuje čo najrýchlejšiu spätnú väzbu s dostatočnými podrobnosťami na zistenie problému. Metódy zadávania v QUnit sa riadia špecifikáciou testovania jednotiek CommonJS. Program QUnit podporuje prehliadače podporované programom jQuery 3.x vrátane variantov Chrome, Edge, Firefox, Internet Explorer a Safari.

Nainštalovať QUnit

Program QUnit si môžete stiahnuť a nainštalovať z webovej stránky QUnit alebo z webu jQuery.cdn.

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