Jasmine Framework-zelfstudie: testen van eenheden met voorbeeld

Wat is JasmijnJS?

Jasmine is een open-source en populairste testframework voor JavaScript-bibliotheken waarmee u elke vorm van JavaScript-toepassing kunt testen. Jasmine volgt de Behavior Driven Development (BDD)-procedure om ervoor te zorgen dat elke regel JavaScript-instructie op de juiste manier wordt getest.

Waar wordt het Jasmine Framework voor gebruikt?

Testen is een sleutelelement voor elke toepassing. Voor het testen van NodeJS-eenheden heet het raamwerk dat beschikbaar is voor testen Jasmine. Begin 2000 bestond er een raamwerk voor testen JavaScript toepassingen genaamd JsUnit. Later dit raamwerk is geüpgraded en staat nu bekend als Jasmine.

Jasmine helpt bij het automatiseren Testen van een eenheid, iets dat een vrij belangrijke praktijk is geworden bij het ontwikkelen en implementeren van moderne webapplicaties.

In deze Jasmine-tutorial leert u hoe u uw omgeving kunt instellen met Jasmine en hoe u Jasmine-tests kunt uitvoeren voor uw eerste Node.js-toepassing.

Jasmine voor het testen van Node.js-applicaties

Jasmine is een Gedragsgestuurde ontwikkeling (BDD) testframework voor JavaScript. Het doet niet vertrouw op browsers, DOM of een JavaScript-framework. Het is dus geschikt voor websites, Node.js-projecten of waar dan ook waar JavaScript kan worden uitgevoerd. Om Jasmine te kunnen gebruiken, moet u eerst de benodigde Jasmine-modules downloaden en installeren.

Hoe u de Jasmine-testomgeving instelt

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

Stap 1) Installeer NPM-modules
Je moet NPM installeren jasmine-module om het jasmine-framework vanuit een Node-toepassing te gebruiken. Voer de onderstaande opdracht uit om de jasmine-node-module te installeren.

npm installeer jasmijn-node

Stap 2) Initialiseer de Jasmine-omgeving
Het project initialiseren – Door dit te doen, maakt Jasmine een spec-directory en configuratie-json voor u. De spec-directory wordt gebruikt om al uw testbestanden op te slaan. Door dit te doen, weet Jasmine waar al uw tests zijn en kan ze deze vervolgens dienovereenkomstig uitvoeren. De JSON bestand wordt gebruikt om specifieke configuratie-informatie over jasmijn op te slaan.

Voer de onderstaande opdracht uit om de jasmijnomgeving te initialiseren

jasmijn init

Stap 3) Inspecteer uw configuratiebestand.
Het configuratiebestand wordt opgeslagen in de map spec/support als jasmine.json. Dit bestand somt de bronbestanden en spec-bestanden op die u in de Jasmine Runner wilt opnemen.

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

Jasmine-testomgeving instellen

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

Vervolgens leren we in deze Jasmine-framework-tutorial hoe we Jasmine kunnen gebruiken om Node.js-applicaties te testen.

Jasmine gebruiken om Node.js-applicaties te testen

Om Jasmine-eenheidstests voor Node.js-applicaties te gebruiken, 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 definiëren met de testcode en vervolgens jasmijn 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'.

Gebruik Jasmine om Node.js-applicaties te testen

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

Code Uitleg

  1. Het trefwoord “exports” wordt gebruikt om ervoor te zorgen dat de functionaliteit die in dit bestand is gedefinieerd ook daadwerkelijk toegankelijk is voor andere bestanden.
  2. Vervolgens definiëren we een functie met de naam 'AddNumber'. Deze functie is gedefinieerd om twee parameters te nemen, a en b. De functie is toegevoegd aan de module “exports” om de functie een publieke functie te maken die toegankelijk is voor andere applicatiemodules.
  3. We zorgen er eindelijk voor dat onze functie de toegevoegde waarde van de parameters retourneert.

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

Note: – Het woord 'spec' moet aan het testbestand worden toegevoegd zodat het door jasmine kan worden gedetecteerd.

Gebruik Jasmine om Node.js-applicaties te testen

Code Uitleg

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 het geven van een beschrijving voor 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 genaamd waarde.
  5. De laatste stap is het uitvoeren van de vergelijking of onze daadwerkelijke test. Omdat we verwachten dat de waarde die wordt geretourneerd door de functie Addnumber 11 is, definiëren we dit met behulp van de methode verwacht(waarde).toBe(de verwachte waarde).

uitgang

  1. Om de test uit te voeren, moet je het commando jasmijn 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 er fouten in de test voorkomen, wordt dit dienovereenkomstig weergegeven.

Gebruik Jasmine om Node.js-applicaties te testen

Samengevat

  • Om te testen a Node.js applicatie, moet eerst het jasmine-framework 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 wordt gedaan, kan Jasmine detecteren dat een bestand moet worden uitgevoerd.
  • Om de test uit te voeren, moet u de jasmijnopdracht uitvoeren. Hiermee worden alle bestanden gevonden waaraan het 'spec'-woord is toegevoegd en wordt het bestand dienovereenkomstig uitgevoerd.