Test runner: Karma

Remember we said back in the introduction that we could execute Jasmine without the need of a browser window? To do so, we are going to use PhantomJS, a scriptable headless WebKit browser (the same rendering engine that powers the Safari browser) and Karma, a test runner.

The setup is very simple; using NPM, we once again install some dependencies:

npm install –save-dev karma karma-jasmine karma-webpack karma-phantomjs-launcher es5-shim

The only strange dependency here is the es5-shim, which is used to give PhantomJS support for some ES5 features that it still is missing, and React requires.

The next step is creating a configuration file, named karma.conf.js, for Karma at the project's' root folder:

module.exports = function(config) ...

Get Jasmine JavaScript Testing - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.