JavaScript-testen met Jasmine

Inhoudsopgave
Nu hebben we al gezien waar het over gaat Jasmijn nu eens kijken hoe het werkt.
  • We downloaden de nieuwste versie van Jasmijn en we ritsen het open.
  • We komen in de directory van Jasmijn en we voeren uit SpecRunner.html en we zien het volgende:

Dit bestand voert enkele tests uit in een voorbeeldcode, als we de tests willen uitvoeren, kunnen we de browser vernieuwen en ze zullen worden uitgevoerd.
Laten we nu eens kijken naar een voorbeeld van het gebruik van Jasmijn:
  • We maken eerst een eenvoudige functie die een string bevat als callback.
functie halloWereld () {
retourneer "Hallo wereld!";
}
We zijn er vrij zeker van dat dit werkt, toch? Maar laten we dit eens proberen met Jasmijn en laten we eens kijken wat je van onze code vindt.
  • We slaan de gemaakte functie op in een bestand dat we kunnen aanroepen hallo.js, we openen SpecRunner.html om de opname uit te voeren.


  • Laten we nu Jasmine aan het werk zetten, een bestand maken met de volgende code:
beschrijven ("Hallo wereld", functie () {
het ("zegt hallo", functie () {
verwachten (helloWorld ()).toEqual ("Hallo wereld!");
});
});
Laten we eens kijken wat dit stukje code bevat:
Eerst hebben we de beschrijving, die meestal een onderdeel van onze applicatie definieert, het kan een klasse, functie of misschien iets anders zijn. In dit voorbeeld verwijst het naar onze functie Hallo Wereld ().
Laten we doorgaan in dezelfde code en we zullen het blok hebben van Item(), dit wordt een specificatie genoemd. Het is een functie in Javascript die ons vertelt wat we kunnen verwachten of wat onze component moet doen. Voor elke beschrijving kunnen we een willekeurig aantal specificaties hebben.
In dit geval testen we of de functie Hallo Wereld () geeft als resultaat "Hallo wereld!" en we verifiëren het met de gelijk maken () dat is niets meer dan een matcher, dit zal ons in principe vertellen of de inhoud van de string hetzelfde is als wat wordt getest.
  • We slaan de code op met de naam hallo.spec.js we plaatsen het in de directory waar de specificaties staan ​​en we nemen het op in onze SpecRunner.html


Ten slotte voeren we deze specificatie in onze browser uit en we zullen een uitvoer zien zoals die we hieronder hebben:

We kunnen ook een ander type matcher gebruiken, laten we eens kijken:
beschrijven ("Hallo wereld", functie () {
het ("zegt wereld", functie () {
verwachten (helloWorld ()) toContain ("wereld");
});
});
In plaats van te verwachten dat de waarde hetzelfde is, verwachten we deze keer dat de inhoud het woord 'wereld' is, ongeacht de rest van de inhoud, zolang het woord 'wereld' in deze test bestaat, zal Jasmine het als correct interpreteren.
Als we naar onze functie gaan, kunnen we veranderen wat er staat en iets anders instellen dan "Hallo wereld", Jasmine zal dit als onjuist zien omdat het niet is wat ze verwacht en dat is de belangrijkste reden waarom we Jasmine willen, zodat we zeggen wanneer iets niet is wat wordt verwacht en dit zal ons helpen om onze code schoon en zonder fouten te maken.Vond je deze tutorial leuk en hielp je hem?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave