Jasmine (JavaScript -testauskehys) - Jasmine (JavaScript testing framework)
| Kehittäjä (t) | Keskeiset laboratoriot |
|---|---|
| Ensimmäinen julkaisu | 14. syyskuuta 2010 |
| Vakaa julkaisu | 3.7.1 / 19. maaliskuuta 2021
|
| Varasto | |
| Kirjoitettu sisään | JavaScript |
| Käyttöjärjestelmä | Monialustainen |
| Tyyppi | Yksikkötesti |
| Lisenssi | MIT -lisenssi |
| Verkkosivusto |
jasmiini |
Jasmine on avoimen lähdekoodin testauskehys JavaScriptille . Sen tavoitteena on toimia millä tahansa JavaScript-yhteensopivalla alustalla, olla tunkeutumatta sovellukseen tai IDE : hen ja sillä on helppolukuinen syntaksi. Siihen vaikuttavat voimakkaasti muut yksikkötestauskehykset, kuten ScrewUnit, JSSpec, JSpec ja RSpec .
Historia
Pivotal Labs for Jasmine -kehittäjät ovat kehittäneet samanlaisen JsUnit -yksikkötestauskehyksen ennen Jasminen aktiivista kehittämistä.
ominaisuudet
- Tukee asynkronista testausta.
- Hyödyntää "vakoojia" testin tuplaamiseen .
- Tukee käyttöliittymäkoodin testausta Jasmine-käyttöliittymän Jasmine-jQuery kautta.
Käyttö
Jasmine pyrkii olemaan helppolukuinen. Yksinkertainen hello world -testi näyttää alla olevalta koodilta, jossa kuvaus () kuvaa testisarjaa ja se () on yksilöllinen testimääritys. Nimi "it ()" seuraa käyttäytymiseen perustuvan kehityksen ajatusta ja toimii testin nimen ensimmäisenä sanana, jonka pitäisi olla täydellinen lause. Käyttö noudattaa samanlaista syntaksia kuin RSpec .
Alla oleva koodi testaa tämän toiminnon
function helloWorld() {
return 'Hello world!';
}
ja varmistaa, että sen tulos on todellakin teksti "Hello world!".
describe('Hello world', function() {
it('says hello', function() {
expect(helloWorld()).toEqual('Hello world!');
});
});
Jasmine tarjoaa laajan valikoiman sisäänrakennettuja sovittimia. Yllä olevassa esimerkissä toEqual tarkistaa helloWorld () -funktion palauttaman arvon ja "Hello world!" merkkijono. Tämä on sama kuin muissa testauskehyksissä käytetyt väitteet . Jasmine -sovittimet palauttavat yksinkertaisesti Boolen arvon: tosi, jos odotus täyttyy (tapa osoittaa, että testi on läpäissyt), tai epätosi, jos odotus ei täsmää. Hyvä käytäntö on asettaa yksittäinen odotus yksittäiselle it () -testimääritykselle.
Muita sisäänrakennettuja sovittimia ovat toBe, toBeTruthy, toBeFalsy, toContain, toBeDefined, toBeUndefined, toBeNull, toBeNaN, toBeGreaterThan, toBeLessThan, toBeCloseTo. Identiteetin sovittaja toBe tarkistaa, ovatko kaksi asiaa sama objekti. Ehtojen sovittimet toBeTruthy, toBeFalsy arvioivat, onko jokin asia totta vai epätosi, ja toBeDefined, toBeUndefined tarkistavat, onko jokin määritelty tai määrittelemätön. Kuten nimestä voi päätellä, toBeNull tarkistaa, onko jokin asia nolla, ja toBeNaN tarkistaa, onko jokin asia luku ( NaN ). Tarkkuuslaskuri toBeCloseTo hyväksyy kaksi parametria ja tarkistaa, onko numero lähellä ensimmäistä parametria, kun otetaan huomioon tietty desimaalitarkkuus, kuten toinen parametri osoittaa. Matcher toContain -toimintoa käytetään tarkistamaan, että elementti, objekti tai alimerkkijono sisältyy taulukkoon, luetteloon tai merkkijonoon.
Sisäänrakennettua toThrow-sovitinta käytetään varmistamaan, että poikkeus on heitetty. Alla oleva koodi vahvistaa, että "Jotkut poikkeukset" heitetään.
describe('Expect to throw an exception', function() {
it('throws some exception', function() {
expect( function(){ throw('Some exception'); }).toThrow('Some exception');
});
});
Jasmine sisältää useita muita ominaisuuksia, kuten mukautetut sovittimet, vakoojat ja tuki asynkronisille määrityksille.
Jasmine -testijuoksijat
Jasmine mukana tulee sisäänrakennettu testijuoksija. Jasmine -testit voivat suorittaa selaintestejä sisällyttämällä niihin yksinkertaisen SpecRunner.html -tiedoston tai käyttämällä sitä komentorivin testikäyttäjänä, jota tuetaan eri kielillä, kuten Nodejs, Python, Ruby tai (vanha tapa) käyttämällä Karmaa , joka on yksinkertainen JavaScript -testausohjelma .
Vertailu Jasmine ja Mocha
Mocha on toinen suosittu Javascript -testauskehys. Jasmiinin ja Mochan vertailu on esitetty alla olevassa taulukossa.
| Jasmiini | Mocha |
|---|---|
| Jasmine mukana tulee kaksinkertainen testi käyttämällä vakoojia. | Mochan mukana ei tule kaksoiskokeita, ja se käyttää yleensä ulkoista kirjastoa, kuten Sinonia. |
| Jasmine sisältää komentoriviohjelman testien suorittamiseen. | Mochalla on komentorivityökalu testien suorittamiseen. |
| Jasmine on sisällyttänyt siihen väitteitä. | Mochalla ei ole väitekirjastoa ja hän käyttää Chaia väitteisiin. |
Edut
- Jasminen tavoitteena on olla riippumaton selaimesta, puitteista, alustasta ja kielistä.
- Käyttäytymislähtöisen kehityksen lisäksi Jasmine tukee myös testipohjaista kehitystä .