Karma and Jasmin
Configuring karma + jasmin for our angular app
Introduction to tools
Karma is a test runner and it is a direct product from angularJS team. It provides flexibility to test your app in various browsers and is integrated with Jenkins, TravisCI and CircleCI continuous integration tools.
Jasmin is a test behavior driven development framework for testing javascript. It plays very well with karma. Similar to karma jasmin is also recommended as a framework of choice for AngularJS testing. Jasmin is dependency free.
Practical fun
The repo for AngularUnitTestDemo already has karma packages and its dependencies (karma-jasmine, jasmine-core, karma-chrome-launcher) so a simple npm command is sufficient to setup the project:
I have configured package.json
to run bower install
command on post install of npm packages. While npm is running, you can install karma command line tool in parallel, so open another terminal and run the following command:
At this point we have installed karma
and jasmin
both. We are ready to create our karma configuration file so we can start writing tests. In a terminal, run the following command:
This command will ask you series of questions, just hit enter to accept defaults. At the end, it will generate a config file for karma: karma.conf
. This file should look like:
Note: do not forget to update the files
field in karma.conf
file for angular and its dependencies.
Last updated