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 viktig praksis ved utvikling og distribusjon av moderne nettapplikasjoner.
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.
- Merk at spesifikasjonskatalogen er spesifisert her. Som nevnt tidligere, når jasmine kjører, søker den etter alle testene i denne katalogen.
- 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."
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
Kode Forklaring
- Nøkkelordet "eksporter" brukes for å sikre at funksjonaliteten som er definert i denne filen faktisk kan nås av andre filer.
- 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.
- 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.
Kode 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); }); });
- Vi må først inkludere Add.js-filen vår slik at vi kan teste 'AddNumber'-funksjonen i denne filen.
- 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".
- Den neste biten er å gi en beskrivelse for testen vår ved å bruke 'it'-metoden.
- 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.
- 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
- For å kjøre testen, må man kjøre kommandoen jasmine.
- 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.
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.