Jasmine Framework Tutorial: Enhetstesting med eksempel

Hva er JasmineJS?

Jasmine er en รฅpen kildekode og mest populรฆr JavaSkriptbibliotek testramme for รฅ teste alle slags JavaSkriptapplikasjon. Jasmine fรธlger Behavior Driven Development (BDD) prosedyre for รฅ sikre at hver linje av JavaSkriptsetningen er skikkelig enhetstestet.

Hva brukes Jasmine Framework til?

Testing er et nรธkkelelement for enhver applikasjon. For NodeJS-enhetstesting kalles rammeverket som er tilgjengelig for testing Jasmine. Tidlig i 2000 var det et rammeverk for testing JavaScript applikasjoner kalt JsUnit. Later dette rammeverket ble oppgradert og er nรฅ kjent som Jasmine.

Jasmine hjelper i automatisert Enhetstesting, noe som har blitt en ganske sentral praksis nรฅr man utviklerping og distribusjon av moderne webapplikasjoner.

I denne Jasmine-opplรฆringen lรฆrer du hvordan du setter opp miljรธet ditt med Jasmine og hvordan du kjรธrer Jasmine-tester for din fรธrste Node.js-applikasjon.

Jasmine for testing av Node.js-applikasjoner

Jasmine er en Atferdsdrevet utvikling (BDD) testramme for JavaManus. Det gjรธr det ikke stole pรฅ nettlesere, DOM eller andre JavaSkriptramme. Dermed er den egnet for nettsteder, Node.js-prosjekter eller hvor som helst det JavaSkriptet kan kjรธres. For รฅ begynne รฅ bruke Jasmine, mรฅ du fรธrst laste ned og installere de nรธdvendige Jasmine-modulene.

Hvordan sette opp Jasmine testmiljรธ

Neste i denne Jasmine Node JS-opplรฆringen, mรฅ du initialisere miljรธet ditt og inspisere jasmine-konfigurasjonsfilen. Trinnene nedenfor viser hvordan du konfigurerer Jasmine i miljรธet ditt

Trinn 1) Installer NPM-moduler
Du mรฅ Installer NPM jasmine-modul for รฅ bruke jasmin-rammeverket fra en Node-applikasjon. For รฅ installere jasmine-node-modulen, kjรธr kommandoen nedenfor.

npm installer jasmine-node

Trinn 2) Initialiser Jasmine-miljรธet
Initialisere prosjektet โ€“ Ved รฅ gjรธre dette oppretter jasmine en spesifikasjonskatalog og konfigurasjons-json for deg. Spesifikasjonsmappen brukes til รฅ lagre alle testfilene dine. Ved รฅ gjรธre dette vil jasmine vite hvor alle testene dine er, og deretter kan utfรธre dem deretter. De JSON fil brukes til รฅ lagre spesifikk konfigurasjonsinformasjon om jasmine.

For รฅ initialisere jasminmiljรธet, kjรธr kommandoen nedenfor

jasmin init

Trinn 3) Inspiser konfigurasjonsfilen din.
Konfigurasjonsfilen vil bli lagret i spec/support-mappen som jasmine.json. Denne filen oppregner kildefilene og spesifikasjonsfilene du vil at Jasmine-lรธperen skal inkludere.

Skjermbildet nedenfor viser et typisk eksempel pรฅ filen package.json for jasmine.

Sett opp Jasmine testmiljรธ

  1. Merk at spesifikasjonskatalogen er spesifisert her. Som nevnt tidligere, nรฅr jasmine kjรธrer, sรธker den etter alle testene i denne katalogen.
  2. Den neste tingen รฅ merke seg er spec_files-parameteren โ€“ Dette angir at uansett hvilke testfiler som opprettes, skal de legges til med nรธkkelordet 'spec'.

Neste i denne Jasmine-rammeveiledningen vil vi lรฆre hvordan du bruker Jasmine til รฅ teste Node.js-applikasjoner.

Hvordan bruke Jasmine til รฅ teste Node.js-applikasjoner

For รฅ bruke Jasmine-enhetstesting for Node.js-applikasjoner, mรฅ en rekke trinn fรธlges.

I vรฅrt eksempel nedenfor skal vi definere en modul som legger til 2 tall som mรฅ testes. Vi vil da definere en egen kodefil med testkoden og deretter bruke jasmine for รฅ teste Add-funksjonen tilsvarende.

Trinn 1) Definer koden som skal testes. Vi skal definere en funksjon som legger til 2 tall og returnerer resultatet. Denne koden skal skrives i en fil som heter "Add.js."

Bruk Jasmine til รฅ teste Node.js-applikasjoner

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

Code Forklaring

  1. Nรธkkelordet "eksporter" brukes for รฅ sikre at funksjonaliteten som er definert i denne filen faktisk kan nรฅs av andre filer.
  2. Vi definerer da en funksjon kalt "AddNumber". Denne funksjonen er definert til รฅ ta 2 parametere, a og b. Funksjonen legges til modulen "eksporterer" for รฅ gjรธre funksjonen til en offentlig funksjon som kan nรฅs av andre applikasjonsmoduler.
  3. Vi fรฅr endelig funksjonen vรฅr til รฅ returnere tilleggsverdien til parameterne.

Trinn 2) Deretter mรฅ vi definere vรฅr jasmin-testkode, som vil bli brukt til รฅ teste vรฅr "Add"-funksjon i Add.js-filen. Koden nedenfor mรฅ legge inn en fil som heter add-spec.js.

Merknader: โ€“ Ordet 'spesifikasjon' mรฅ legges til i testfilen slik at den kan oppdages av jasmin.

Bruk Jasmine til รฅ teste Node.js-applikasjoner

Code Forklaring

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รฅ fรธrst inkludere Add.js-filen vรฅr slik at vi kan teste 'AddNumber'-funksjonen i denne filen.
  2. Vi lager nรฅ vรฅr testmodul. Den fรธrste delen av testmodulen er รฅ beskrive en metode som i utgangspunktet gir et navn til testen vรฅr. I dette tilfellet er navnet pรฅ testen vรฅr "Addition".
  3. Den neste biten er รฅ gi en beskrivelse for testen vรฅr ved รฅ bruke 'it'-metoden.
  4. Vi pรฅkaller nรฅ Addnumber-metoden vรฅr og sender inn 2 parametere 5 og 6. Dette vil bli sendt til Addnumber-metoden vรฅr i App.js-filen. Returverdien lagres deretter i en variabel kalt verdi.
  5. Det siste trinnet er รฅ gjรธre sammenligningen eller vรฅr faktiske test. Siden vi forventer at verdien returnert av Addnumber-funksjonen er 11, definerer vi dette ved รฅ bruke metoden expect(value).toBe(den forventede verdien).

Produksjon

  1. For รฅ kjรธre testen, mรฅ man kjรธre kommandoen jasmine.
  2. Skjermbildet nedenfor viser at etter at jasmine-kommandoen er kjรธrt, vil den oppdage at det er en test kalt add-spec.js og utfรธre den testen deretter. Hvis det er noen feil i testen, vil den vises tilsvarende.

Bruk Jasmine til รฅ teste Node.js-applikasjoner

Sammendrag

  • For รฅ teste a node.js applikasjonen, mรฅ jasmine-rammeverket installeres fรธrst. Dette gjรธres ved รฅ bruke Node-pakkebehandlingen.
  • Testkoden mรฅ skrives i en egen fil, og ordet 'spec' skal legges til filnavnet. Bare hvis dette er gjort vil jasmine kunne oppdage at en fil mรฅ kjรธres.
  • For รฅ kjรธre testen mรฅ du utfรธre jasmine-kommandoen. Dette vil finne alle filene som har "spesifikasjons"-ordet knyttet til seg og kjรธre filen deretter.

Oppsummer dette innlegget med: