A Jasmine célja, hogy könnyen olvasható legyen. Egy egyszerű hello world teszt úgy néz ki, mint az alábbi kód, ahol a describe() egy tesztcsomagot ír le, az it() pedig egy egyedi teszt specifikáció. Az “it()” név a viselkedésvezérelt fejlesztés gondolatát követi, és a tesztnév első szavaként szolgál, amelynek egy teljes mondatot kell alkotnia. A használat az RSpec-hez hasonló szintaxist követ.
Az alábbi kód teszteli ezt a függvényt
function helloWorld() { return 'Hello world!';}
és ellenőrzi, hogy a kimenete valóban a “Hello world!” szöveg.
describe('Hello world', function() { it('says hello', function() { expect(helloWorld()).toEqual('Hello world!'); });});
A Jasmine a beépített matcherek gazdag készletét biztosítja. A fenti példában a toEqual ellenőrzi a helloWorld() függvény által visszaadott érték és a “Hello world!” karakterlánc közötti egyenlőséget. Ez megegyezik a más tesztelési keretrendszerekben használt állításokkal. A Jasmine matcherek egyszerűen egy Boolean értéket adnak vissza: true, ha az elvárás megegyezik (ez egy módja annak, hogy jelezze, hogy a teszt átment), vagy false, ha az elvárás nem egyezik. Jó gyakorlat, ha egyetlen elvárást egy egyedi it() tesztspecifikációban helyezünk el.
A többi beépített megfeleltető a toBe, toBeTruthy, toBeFalsy, toContain, toBeDefined, toBeUndefined, toBeNull, toBeNaN, toBeGreaterThan, toBeLessThan, toBeCloseTo. A toBe azonosság-egyeztető ellenőrzi, hogy két dolog ugyanaz-e az objektum. A toBeTruthy, toBeFalsy feltétel-illesztők azt értékelik, hogy valami igaz vagy hamis, a toBeDefined, toBeUndefined pedig azt, hogy valami definiált vagy nem definiált. Ahogy a neve is mutatja, a toBeNull azt ellenőrzi, hogy valami nulla-e, a toBeNaN pedig azt, hogy valami nem szám (NaN). A toBeCloseTo pontossági megfeleltető két paramétert fogad el, és ellenőrzi, hogy egy szám közel van-e az első paraméterhez, a második paraméter által megadott bizonyos tizedes pontossággal. A toContain matcher annak ellenőrzésére szolgál, hogy egy elem, objektum vagy részlánc szerepel-e egy tömbben, listában vagy karakterláncban.
A toThrow speciális beépített matcher annak ellenőrzésére szolgál, hogy egy kivétel el lett-e dobva. Az alábbi kód azt ellenőrzi, hogy “Valamilyen kivétel” került-e dobásra.
describe('Expect to throw an exception', function() { it('throws some exception', function() { expect( function(){ throw('Some exception'); }).toThrow('Some exception'); });});
A Jasmine számos más funkcióval is rendelkezik, mint például az egyéni matcherek, a kémek és az aszinkron specifikációk támogatása.