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) ...