Jasmine in Browser
Download the standalone distribution (zip file) from https://github.com/jasmine/jasmine/releases and extract it.
Inside the extracted directory, there are two files - an
MIT.LICENSE file and a
SpecRunner.html file - and three
directories - /lib,
/spec and
/src. The
SpecRunner.html file executes the included
specs when run in browser. The
/lib directory contains Jasmine library,
the JavaScript code to be tested goes inside the
/src directory, and the specs inside the
/spec directory.
Consider a JavaScript file test.js,
containing two functions, pi() and
sin(). This file is saved inside the
src directory.
function pi() {
return 3.141;
}
function sin(x) {
return Math.sin(x);
}
We write the specs in Jasmine (below) to check that the value of π
returned by pi() equals
3.141 and the value of the trigonometric
ratio sine is always ≤ 1 and ≥ -1, for any random number
generated between 1 and 100. We name this spec file
test.spec.js and save it inside the
spec directory
describe("Value of pi", function() {
it("is equal to 3.141", function() {
expect(pi()).toEqual(3.141);
});
});
describe("Value of sine", function() {
it("is less than or equal to 1", function() {
expect(sin(Math.floor((Math.random() * 100) + 1))
<= 1).toBeTruthy();
});
it("is greater than or equal to -11", function() {
expect(sin(Math.floor((Math.random() * 100) + 1))
< -1).toBeFalsy();
});
});
Edit the SpecRunner.html file just to
include test.js, the JS code to be tested,
and the spec file test.spec.js. 2.4.1 is
just the standalone version number used for this tutorial and thus it
can vary
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Jasmine Spec Runner v3.4.0</title>
<link rel="shortcut icon" type="image/png"
href="lib/jasmine-3.4.0/jasmine_favicon.png">
<link rel="stylesheet" href="lib/jasmine-3.4.0/jasmine.css">
<script src="lib/jasmine-3.4.0/jasmine.js"></script>
<script src="lib/jasmine-3.4.0/jasmine-html.js">
</script>
<script src="lib/jasmine-3.4.0/boot.js"></script>
<!-- include source files here -->
<script type="text/javascript" src="src/test.js">
</script>
<!-- include spec files here -->
<script type="text/javascript" src="spec/test.spec.js">
</script>
</head>
<body>
</body>
</html>
Open SpecRunner.html file in a browser and
run the specs.