Programování

10 důvěryhodných testovacích nástrojů JavaScriptu

Potřeba otestovat kód JavaScript je jasná. Jak jinak zabránit chybám a zajistit hladký chod aplikací v prohlížeči nebo na Node.js? Naštěstí mají vývojáři při testování JavaScriptu nepřeberné množství možností.

Pro ekosystém JavaScriptu jsou snadno k dispozici testovací běžci a rámce pro testování jednotek, testování integrace a funkční testování s pokrytím pro Node.js a prohlížeče i pro rámce Angular a React. Následuje 10 z mnoha pozoruhodných možností, které vývojářům JavaScriptu musí pomoci otestovat jejich aplikace.

AVA

AVA je testovací běžec pro Node.js, který nabízí stručné API, podrobný chybový výstup a podporu nových jazykových funkcí a izolace procesů. AVA je nejvhodnější pro testování modulů Node.js a serverových aplikací, ale možná ne pro testování aplikací uživatelského rozhraní. Mezi svými schopnostmi AVA nabízí funkci označující test jako úkol „to do“. Každé spuštění testovacího souboru je samostatný proces. Mezi další uváděné výhody patří minimalismus a rychlost AVA, jednoduchá syntaxe testu a schopnost souběžně provádět testy. AVA má také podporu pro asynchronní funkce a pozorovatelné objekty - pozorovatelná bytost typu, který lze použít k modelování datových zdrojů založených na push, jako jsou události DOM.

Nainstalujte AVA

Pokyny k instalaci AVA najdete na stránce GitHub projektu.

Cucumber.js

Implementace JavaScriptu testovacího nástroje Cucumber, Cucumber.js běží na udržovaných verzích Node.js a v moderních webových prohlížečích. Projekt Okurka uvádí výhody, včetně týmové komunikace a schopnosti spouštět automatizované testy napsané v „prostém“ jazyce, což znamená, že si je může přečíst kdokoli v týmu. Lze tak zlepšit komunikaci, spolupráci a důvěru. Cucumber.js obsahuje spustitelný soubor pro spuštění vašich testovacích sad (tzv. Funkcí), takže nefunguje při globální instalaci. (V souborech podpory musí být vyžadována okurka a nelze vyžadovat globálně nainstalované moduly.)

Nainstalujte Cucumber.js

Pokyny pro instalaci souboru Cucumber.js jsou k dispozici na GitHubu.

Enzym

Enzym je testovací nástroj pro knihovnu uživatelského rozhraní React JavaScript. Účelem je usnadnit testování výstupu komponent React. Vývojáři mohou s výstupem manipulovat, procházet a simulovat běhové prostředí. Enzymové API napodobuje API jQuery pro manipulaci a procházení DOM. Enzym je unopinionated o testovací běžec nebo knihovna tvrzení. Pokud vývojáři chtějí použít Enzyme s vlastními tvrzeními a pohodlnými funkcemi k testování komponent React, mohou zvážit chai-enzym s Mocha / Chai, jasmínový enzym s Jasmínou, nebo jest-enzym s Jest. Enzym lze také použít k testování komponent React Native.

Nainstalujte si enzym

Pokyny k instalaci enzymu najdete na GitHubu.

Karma

Karma je testovací běžec pro JavaScript, který umožňuje provádění kódu ve více prohlížečích. Jsou podporovány všechny hlavní prohlížeče, včetně mobilních. Vývojáři, kteří za projektem stojí, tvrdí, že Karma nabízí prostředí, kde vývojáři nemusí nastavovat spoustu konfigurací, ale mohou psát kód a získávat okamžitou zpětnou vazbu z testů. Karma je určena pro testování na nízké úrovni (jednotky). Nejde o testovací rámec nebo knihovnu tvrzení, Karma spouští server HTTP a vygeneruje soubor testovacího běžce z oblíbeného testovacího rámce vývojáře. Pluginy jsou nabízeny pro rámce jako Jasmine, Mocha a QUnit.

Nainstalujte si Karma

Pokyny pro instalaci Karmy jsou k dispozici na GitHubu.

Jasmín

Jasmine je účtována jako rámec založený na chování pro testování JavaScriptu. Nemá žádnou závislost na jiných rámcích JavaScriptu a nepotřebuje DOM. Navrhovatelé uvádějí jeho syntaxi, která umožňuje snadné psaní testů. Jasmine, kterou spravují Pivotal Labs, je vhodná pro testování webů, projektů Node.js a čehokoli jiného, ​​kde lze spustit JavaScript. Jasmine má přinést snadné testování do různých různých případů použití a prohlížečů a je agnostický rámec JavaScriptu, který umožňuje vývojářům testovat kód z React nebo Angular nebo jiné knihovny JavaScriptu. Jasmine se snaží o minimální závislosti, přičemž zůstává malá a udržovatelná.

Nainstalujte Jasmine

Pokyny k instalaci Jasmine a zahájení používání Jasmine najdete na GitHubu.

Žert

Jest je účtován jako komplexní řešení testování JavaScriptu, které pro většinu projektů JavaScriptu funguje bez konfigurace, bez konfigurace. Testy mají jedinečný globální stav a lze je spustit paralelně. Dříve neúspěšné testy jsou spuštěny jako první, přičemž běhy jsou reorganizovány na základě délky testovacích souborů. Funguje pouze s populárními technologiemi JavaScriptu, včetně Angular, Babel, Node.js, React a Vue. Lze spustit testy, které vám pomohou sledovat velké objekty, se snímky žijícími vedle testů nebo vloženými vloženými. V testovacích souborech vkládá Jest metody a objekty do globálního prostředí, aniž by je bylo nutné importovat.

Nainstalujte Jest

Pokyny k instalaci Jest najdete na GitHubu.

Luna

Luna je umíněný rámec pro testování jednotek pro JavaScript, který nevyžaduje žádnou konfiguraci. Vývojáři mohou mít své první testy jednotek spuštěné během několika minut, uvádí dokumentace k produktu. Zprávy o pokrytí kódu se generují bez instalace dalších modulů. Testy musí být psány jako moduly ES6, testy jsou ve výchozím nastavení spouštěny v prohlížeči. Souběžnost je podporována, testovací skupiny běží paralelně. Luna se částečně inspirovala integrovaným testováním dostupným pro jazyk Google Go. Luna nevyhovuje transpilování, takže nebude fungovat s CoffeeScript nebo TypeScript. Také mu chybí podpora pro starší prohlížeče.

Nainstalujte Lunu

Pokyny pro instalaci Luny jsou k dispozici na GitHubu.

Moka

Testovací rámec bohatý na funkce, který běží na Node.js a v prohlížeči, Mocha slibuje, že bude testování asynchronního kódu „jednoduché a zábavné“. Testy jsou spouštěny sériově, což podle navrhovatelů umožňuje přesné a flexibilní vytváření zpráv a mapování nezachycených výjimek na přesné testovací případy. Pro nepřetržité testování mohou vývojáři pomocí nástroje Wallaby.js povolit pokrytí kódu v reálném čase pro Mocha s libovolnou knihovnou tvrzení. Mocha se také integruje do aplikačních rámců, například prostřednictvím Konacha, což umožňuje vývojářům používat Mocha k testování JavaScriptu v aplikacích Ruby on Rails. K dispozici je také řada modulů plug-in editoru, například rozšíření postranního panelu Mocha pro Visual Studio Code.

Nainstalujte Mocha

Pokyny k instalaci Mocha a dokumentace k mnoha funkcím Mocha jsou k dispozici na webových stránkách projektu.

Úhloměr

Protractor je end-to-end testovací framework pro Angular a jeho předchůdce AngularJS. Testy se spouštějí proti aplikacím v prohlížeči, přičemž aplikace Proctractor interaguje s aplikací stejně jako uživatel. Jsou podporovány strategie lokátorů specifických pro úhel pro testování hranatých prvků bez jakéhokoli nastavení. Možnost automatického čekání umožňuje Protractoru provést další krok v testu v okamžiku, kdy webová stránka dokončí nevyřízené testy. Protractor byl postaven na vrcholu WebdriverJS, implementace JavaScriptu automatizačního nástroje prohlížeče Selenium používaného k testování.

Nainstalujte úhloměr

Pokyny k instalaci Protractor najdete na webových stránkách Protractor.

QUIT

QUnit je rámec pro testování jednotek JavaScriptu, který se používá v projektech JQuery, jQuery UI a jQuery Mobile. Ve skutečnosti byl QUnit původně vyvinut jako součást jQuery vynálezcem jQuery Johnem Resigem. QUnit je účtován jako rychlý a snadno použitelný, s API, které je názorové, ale štíhlé a rozšiřitelné, a lze jej použít k testování jakéhokoli obecného kódu JavaScript. Když test nebo tvrzení selže, QUnit slibuje, že poskytne zpětnou vazbu co nejrychleji, s dostatečnými podrobnostmi, aby zjistil problém. Metody tvrzení v QUnit se řídí specifikací testování jednotek CommonJS. QUnit podporuje prohlížeče podporované jQuery 3.x, včetně variant Chrome, Edge, Firefox, Internet Explorer a Safari.

Nainstalujte QUnit

QUnit si můžete stáhnout a nainstalovat z webu QUnit nebo z jQuery.cdn.