Testování JavaScriptu pomocí Jasmine

Obsah
Nyní jsme již viděli, o co jde Jasmín teď se podívejme, jak to funguje.
  • Stáhneme si nejnovější verzi Jasmín a rozbalíme to.
  • Vstupujeme do adresáře Jasmín a popravíme SpecRunner.html a uvidíme následující:

Tento soubor provede některé testy v ukázkovém kódu, pokud chceme testy spustit, můžeme obnovit prohlížeč a budou provedeny.
Nyní se podívejme na příklad použití Jasmín:
  • Nejprve vytvoříme jednoduchou funkci, která obsahuje řetězec jako zpětné volání.
funkce helloWorld () {
vrátit „Hello world!“;
}
Jsme si docela jisti, že to funguje, že? Ale zkusme to s Jasmín a podívejme se, co si myslíte o našem kódu.
  • Vytvořenou funkci uložíme do souboru, který můžeme volat ahoj.js, otevíráme SpecRunner.html provést zařazení.


  • Nyní dáme Jasmine do práce, vytvoříme soubor obsahující následující kód:
description ("Hello world", function () {
it ("říká ahoj", funkce () {
očekávat (helloWorld ()). toEqual („Hello world!“);
});
});
Podívejme se, co tento kus kódu obsahuje:
Nejprve máme popis, který obvykle definuje komponentu naší aplikace, může to být třída, funkce nebo možná něco jiného. V tomto případě se týká naší funkce Ahoj světe ().
Pokračujme ve stejném kódu a budeme mít blok Položka(), tomu se říká specifikace. Je to funkce v Javascriptu, která nám říká, co očekávat nebo co by naše komponenta měla dělat. Pro každý popis můžeme mít libovolný počet specifikací.
V tomto případě testujeme, zda je funkce Ahoj světe () vrací „Hello world!“ a ověříme to pomocí toEqual () což není nic jiného než a zápasník, to nám v podstatě řekne, jestli je obsah řetězce stejný jako to, co se testuje.
  • Uložíme kód se jménem ahoj.spec.js umístíme jej do adresáře, kde jsou obsaženy specifikace, a zahrneme jej do našeho SpecRunner.html


Nakonec spustíme tuto specifikaci v našem prohlížeči a uvidíme výstup podobný tomu, který máme níže:

Můžeme také použít jiný typ porovnávače, podívejme se:
description ("Hello world", function () {
it ("říká svět", funkce () {
očekávat (helloWorld ()). toContain ("svět");
});
});
Místo toho, abychom očekávali, že hodnota bude stejná, tentokrát očekáváme, že obsahem bude slovo „svět“ bez ohledu na zbytek obsahu, pokud v tomto testu existuje slovo „svět“, Jasmine jej bude interpretovat jako správné.
Pokud přejdeme k naší funkci, můžeme změnit to, co říká, a nastavit něco jiného než „Hello World“, Jasmine to bude považovat za nesprávné, protože to není to, co očekává, a to je hlavní důvod, proč chceme Jasmine, takže říkáme, když něco není to, co se očekává, a to nám pomůže udělat náš kód čistý a bez chyb.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod
wave wave wave wave wave