Jasmine (JavaScript testing framework)
Jasmine is an open source unit testing framework for testing JavaScript code.
It uses the behavior-driven development model.
Description
It aims to run on any JavaScript-enabled platform, to not intrude on the application nor the IDE, and to have easy-to-read syntax.
Jasmine has a number of other features, such as custom matchers, spies, and support for asynchronous specifications.
Examples
A simple hello world test looks like the code below, where describe()
describes a suite of tests and it()
is an individual test specification.
The name "it()
" follows the idea of behavior-driven development and serves as the first word in the test name, which should be a complete sentence.
The code below tests this function:
function helloWorld() { return 'Hello world!'; }
and verifies that its output is indeed the text "Hello world!".
describe('Hello world', function() { it('says hello', function() { expect(helloWorld()).toEqual('Hello world!'); }); });
Influences
It is heavily influenced by other unit testing frameworks, such as ScrewUnit, JSSpec, JSpec, and RSpec.
See also
External links
- Official website
- Introduction @ jasmine.github.io
- Jasmine (JavaScript testing framework) @ Wikipedia
- Testing JavaScript Using the Jasmine Framework by Rob Gravelle
- Testing Your JavaScript With Jasmine by Andrew Burgess
- How do I Jasmine: a tutorial by Evan Hahn
- Testing Javascript: get started with Jasmine by Katie Fenn
YouTube videos
- Unit Testing in JavaScript via Jasmine by Jesse Warden