Included in this directory
-
index.html - the web page used to run the test suite.
-
spec - includes the OpenLayers test/spec files.
-
test-extensions.js - includes OpenLayers-specific extensions to the testing frameworks.
Run the test suite
Install the test dependencies (from the root of the repository):
npm install
Run the tests once with PhantomJS:
make test
(Note that for npm users, this can also be run as npm test.)
Run the tests in a browser:
make serve
(Again for npm users, this is npm start.)
Now visit http://localhost:3000/test/ in your browser. The tests will re-run any time one of the source or spec files changes.
Tip for TDD'ers: to make PhantomJS run the test suite continuously each time
a spec file is changed you can use nosier (http://pypi.python.org/pypi/nosier)
and do nosier -p test -p src "make test".
Rendering tests
The test/rendering directory contains rendering tests which compare a rendered map with a
reference image using resemble.js.
To run the tests in the browser, make sure the development server is running
(make serve) and open the URL
http://localhost:3000/test_rendering/index.html.
From the command-line the tests can be run with the build target make test-rendering.
Adding new tests
When creating a new test case, a reference image has to be created. By appending ?generate
to the URL, a canvas with the rendered map will be shown on the page when calling
expectResemble. Then the reference image can simply be created with a right-click
and "Save image as".
It is recommended to only run a single test case when generating the reference image.
Image difference
When a test fails, an image showing the difference between the reference image and the
rendered map can be displayed by appending ?showdiff to the URL.