Node.js Unit Testing-zelfstudie met Jasmine

Inhoudsopgave:

Anonim

Testen is een sleutelelement voor elke toepassing. Voor Node.js wordt het framework dat beschikbaar is voor testen Jasmine genoemd. Begin 2000 was er een raamwerk voor het testen van JavaScript-applicaties genaamd JsUnit. Later is dit framework geüpgraded en staat het nu bekend als Jasmine.

Jasmine helpt bij geautomatiseerde Unit Testing, iets dat een vrij belangrijke praktijk is geworden bij het ontwikkelen en implementeren van moderne webapplicaties.

In deze tutorial leer je hoe je je omgeving kunt instellen met jasmine en hoe je kunt beginnen met het testen van je eerste Node.js-applicatie met jasmine.

In deze tutorial leer je-

  • Overzicht van Jasmine voor het testen van Node.js-toepassingen

  • Hoe Jasmine te gebruiken om Node.js-toepassingen te testen

Overzicht van Jasmine voor het testen van Node.js-toepassingen

Jasmine is een Behavior Driven Development (BDD) testraamwerk voor JavaScript. Het is niet afhankelijk van browsers, DOM of een JavaScript-framework. Het is dus geschikt voor websites, Node.js-projecten of overal waar JavaScript kan worden uitgevoerd. Om Jasmine te kunnen gebruiken, moet u eerst de benodigde Jasmine-modules downloaden en installeren.

Vervolgens moet u uw omgeving initialiseren en het jasmine-configuratiebestand inspecteren. De onderstaande stappen laten zien hoe u Jasmine in uw omgeving instelt

Stap 1) De NPM-modules installeren

U moet de jasmine-module installeren om het jasmine-framework te gebruiken vanuit een Node-toepassing. Voer de onderstaande opdracht uit om de jasmine-node-module te installeren.

npm installeer jasmine-node

Stap 2) Initialiseren van het project - Door dit te doen, maakt jasmine een spec-directory en configuratie-json voor je aan. De spec-directory wordt gebruikt om al uw testbestanden op te slaan. Door dit te doen, weet jasmijn waar al uw tests zijn en kan ze ze dienovereenkomstig uitvoeren. Het JSON-bestand wordt gebruikt om specifieke configuratie-informatie over jasmine op te slaan.

Voer de onderstaande opdracht uit om de jasmine-omgeving te initialiseren

jasmijn init

Stap 3) Inspecteer uw configuratiebestand. Het configuratiebestand wordt opgeslagen in de map spec / support als jasmine.json. Dit bestand geeft een opsomming van de bronbestanden en spec-bestanden die je door de Jasmine-runner wilt laten opnemen.

De onderstaande schermafbeelding toont een typisch voorbeeld van het bestand package.json voor jasmine.

  1. Merk op dat de spec-directory hier wordt gespecificeerd. Zoals eerder opgemerkt, zoekt jasmine naar alle tests in deze map wanneer het wordt uitgevoerd.
  2. Het volgende dat moet worden opgemerkt, is de parameter spec_files - Dit geeft aan dat welke testbestanden dan ook worden gemaakt, ze moeten worden toegevoegd met het trefwoord 'spec'.

Hoe Jasmine te gebruiken om Node.js-toepassingen te testen

Om Jasmine te gebruiken om Node.js-applicaties te testen, moet een reeks stappen worden gevolgd.

In ons voorbeeld hieronder gaan we een module definiëren die 2 getallen toevoegt die moeten worden getest. We zullen dan een apart codebestand met de testcode definiëren en vervolgens jasmine gebruiken om de Add-functie dienovereenkomstig te testen.

Stap 1) Definieer de code die moet worden getest. We gaan een functie definiëren die 2 getallen optelt en het resultaat retourneert. Deze code wordt geschreven in een bestand met de naam "Add.js."

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

Code Verklaring:

  1. Het sleutelwoord "exports" wordt gebruikt om ervoor te zorgen dat de functionaliteit die in dit bestand is gedefinieerd, ook daadwerkelijk toegankelijk is voor andere bestanden.
  2. We definiëren dan een functie genaamd 'AddNumber'. Deze functie is gedefinieerd voor 2 parameters, a en b. De functie is toegevoegd aan de module "exports" om de functie te maken als een publieke functie waartoe andere applicatiemodules toegang hebben.
  3. We zorgen er eindelijk voor dat onze functie de toegevoegde waarde van de parameters teruggeeft.

Stap 2) Vervolgens moeten we onze jasmine-testcode definiëren, die zal worden gebruikt om onze "Add" -functie in het Add.js-bestand te testen. De onderstaande code moet in een bestand met de naam add-spec.js worden geplaatst.

Opmerking : - Het woord 'spec' moet aan het testbestand worden toegevoegd zodat het door jasmijn kan worden gedetecteerd.

Code Verklaring:

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. We moeten eerst ons Add.js-bestand opnemen, zodat we de functie 'AddNumber' in dit bestand kunnen testen.
  2. We zijn nu onze testmodule aan het maken. Het eerste deel van de testmodule is het beschrijven van een methode die in feite een naam geeft voor onze test. In dit geval is de naam van onze test "Toevoeging".
  3. Het volgende deel is om een ​​beschrijving te geven van onze test met behulp van de 'it'-methode.
  4. We roepen nu onze Addnumber-methode aan en sturen 2 parameters 5 en 6 in. Dit wordt doorgegeven aan onze Addnumber-methode in het App.js-bestand. De geretourneerde waarde wordt vervolgens opgeslagen in een variabele met de naam waarde.
  5. De laatste stap is om de vergelijking of onze eigenlijke test uit te voeren. Omdat we verwachten dat de waarde die wordt geretourneerd door de functie Addnumber 11 is, definiëren we dit met de methode verwachting (waarde) .toBe (de verwachte waarde).

Uitvoer

  1. Om de test uit te voeren, moet je het commando jasmine uitvoeren.
  2. De onderstaande schermafbeelding laat zien dat nadat het jasmine-commando is uitgevoerd, het zal detecteren dat er een test is met de naam add-spec.js en die test dienovereenkomstig zal uitvoeren. Als de test fouten bevat, wordt deze overeenkomstig weergegeven.

Overzicht

  • Om een ​​Node.js-applicatie te testen, moet het jasmine-framework eerst worden geïnstalleerd. Dit wordt gedaan met behulp van de Node-pakketbeheerder.
  • De testcode moet in een apart bestand worden geschreven en het woord 'spec' moet aan de bestandsnaam worden toegevoegd. Alleen als dit is gebeurd, kan jasmine detecteren dat een bestand moet worden uitgevoerd.
  • Om de test uit te voeren, moet u de opdracht jasmine uitvoeren. Hiermee worden alle bestanden gevonden waaraan het woord 'spec' is gekoppeld en wordt het bestand dienovereenkomstig uitgevoerd.