Jasmine Framework Tutorial: Enhetstestning med exempel

Vad är JasmineJS?

Jasmine är en öppen källkod och mest populär JavaSkript bibliotek testa ram för att testa någon form av JavaSkriptapplikation. Jasmine följer Behavior Driven Development (BDD) procedur för att säkerställa att varje rad av JavaSkriptsatsen är korrekt enhetstestad.

Vad används Jasmine Framework till?

Testning är ett nyckelelement för alla applikationer. För NodeJS enhetstestning kallas ramverket som är tillgängligt för Testning Jasmine. I början av 2000 fanns det ett ramverk för testning JavaScript applikationer som kallas JsUnit. Later detta ramverk har uppgraderats och är nu känt som Jasmine.

Jasmine hjälper till att automatisera Enhetstestning, något som har blivit en ganska viktig praxis när man utvecklar och distribuerar moderna webbapplikationer.

I den här Jasmine-handledningen kommer du att lära dig hur du ställer in din miljö med Jasmine och hur du kör Jasmine-tester för din första Node.js-applikation.

Jasmine för att testa Node.js-applikationer

Jasmine är en Beteendedriven utveckling (BDD) testram för JavaManus. Det gör det inte lita på webbläsare, DOM eller något annat JavaSkriptram. Således är den lämpad för webbplatser, Node.js-projekt eller var som helst det JavaSkriptet kan köras. För att börja använda Jasmine måste du först ladda ner och installera de nödvändiga Jasmine-modulerna.

Hur man ställer in Jasmine testmiljö

Nästa i denna Jasmine Node JS-handledning, skulle du behöva initiera din miljö och inspektera jasmine-konfigurationsfilen. Stegen nedan visar hur du ställer in Jasmine i din miljö

Steg 1) Installera NPM-moduler
Du måste Installera NPM jasmine-modul för att använda jasmin-ramverket inifrån en Node-applikation. För att installera jasmine-node-modulen, kör kommandot nedan.

npm installera jasmine-node

Steg 2) Initiera jasminmiljön
Initiera projektet – Genom att göra detta skapar jasmine en spec-katalog och konfigurations-json åt dig. Spec-katalogen används för att lagra alla dina testfiler. Genom att göra detta kommer jasmine att veta var alla dina test är och sedan kan utföra dem därefter. De JSON fil används för att lagra specifik konfigurationsinformation om jasmine.

För att initiera jasminmiljön, kör kommandot nedan

jasmin init

Steg 3) Inspektera din konfigurationsfil.
Konfigurationsfilen kommer att lagras i spec/support-mappen som jasmine.json. Den här filen räknar upp källfilerna och specifikationsfilerna som du vill att Jasmine runner ska inkludera.

Skärmbilden nedan visar ett typiskt exempel på filen package.json för jasmine.

Ställ in Jasmine testmiljö

  1. Observera att spec-katalogen anges här. Som nämnts tidigare, när jasmine körs, söker den efter alla tester i den här katalogen.
  2. Nästa sak att notera är parametern spec_files – Detta anger att vilka testfiler som än skapas ska läggas till med nyckelordet 'spec'.

Nästa i den här självstudien för Jasmine-ramverket kommer vi att lära oss hur man använder Jasmine för att testa Node.js-applikationer.

Hur man använder Jasmine för att testa Node.js-applikationer

För att kunna använda Jasmine-enhetstestning för Node.js-applikationer måste en rad steg följas.

I vårt exempel nedan kommer vi att definiera en modul som lägger till 2 nummer som måste testas. Vi kommer sedan att definiera en separat kodfil med testkoden och sedan använda jasmine för att testa Add-funktionen därefter.

Steg 1) Definiera koden som ska testas. Vi kommer att definiera en funktion som lägger till 2 tal och returnerar resultatet. Den här koden kommer att skrivas i en fil som heter "Add.js."

Använd Jasmine för att testa Node.js-applikationer

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};

Kodförklaring

  1. Nyckelordet "export" används för att säkerställa att den funktionalitet som definieras i den här filen faktiskt kan nås av andra filer.
  2. Vi definierar sedan en funktion som heter "AddNumber". Denna funktion är definierad för att ta 2 parametrar, a och b. Funktionen läggs till i modulen "exporterar" för att göra funktionen till en publik funktion som kan nås av andra applikationsmoduler.
  3. Vi får äntligen vår funktion att returnera parametrarnas mervärde.

Steg 2) Därefter måste vi definiera vår jasmintestkod, som kommer att användas för att testa vår "Add"-funktion i Add.js-filen. Koden nedan måste läggas i en fil som heter add-spec.js.

Anmärkningar: – Ordet 'spec' måste läggas till i testfilen så att det kan upptäckas av jasmine.

Använd Jasmine för att testa Node.js-applikationer

Kodförklaring

var app=require("../Add.js");
describe("Addition",function(){
it("The function should add 2 numbers",function() {
var value=app.AddNumber(5,6);
expect(value).toBe(11);
});
});
  1. Vi måste först inkludera vår Add.js-fil så att vi kan testa funktionen 'AddNumber' i den här filen.
  2. Vi skapar nu vår testmodul. Den första delen av testmodulen är att beskriva en metod som i princip ger ett namn för vårt test. I det här fallet är namnet på vårt test "Addition".
  3. Nästa bit är att ge en beskrivning av vårt test med 'it'-metoden.
  4. Vi anropar nu vår Addnumber-metod och skickar in 2 parametrar 5 och 6. Detta kommer att skickas till vår Addnumber-metod i App.js-filen. Returvärdet lagras sedan i en variabel som kallas värde.
  5. Det sista steget är att göra jämförelsen eller vårt faktiska test. Eftersom vi förväntar oss att värdet som returneras av Addnumber-funktionen är 11, definierar vi detta med metoden expect(value).toBe(det förväntade värdet).

Produktion

  1. För att köra testet måste man köra kommandot jasmine.
  2. Skärmbilden nedan visar att efter att jasmine-kommandot har körts kommer det att upptäcka att det finns ett test som heter add-spec.js och köra det testet därefter. Om det finns några fel i testet kommer det att visas därefter.

Använd Jasmine för att testa Node.js-applikationer

Sammanfattning

  • För att testa a node.js applikationen måste jasmine-ramverket installeras först. Detta görs genom att använda Node-pakethanteraren.
  • Testkoden måste skrivas i en separat fil, och ordet 'spec' ska läggas till filnamnet. Bara om detta görs kommer jasmine att kunna upptäcka att en fil måste köras.
  • För att köra testet måste du köra kommandot jasmine. Detta kommer att hitta alla filer som har "spec"-ordet bifogat och köra filen därefter.