Task automation with Grunt
Grunt is a task runner and a great way to automate your node projects. Let's add a simple grunt script to our project in order to automate running tests and code coverage. Let's install Grunt and Grunt CLI:
The grunt-cafe-mocha
is a grunt module for running mocha; this module will also allow us to automate code coverage reports:
The grunt-jscoverage
simply generates an instrumented version of our source code and writes it to ./lib-cov
:
The grunt-env
allows you to set the current node environment, NODE_ENV
:
Let's create a grunt file ./gruntfile.js
. We load the grunt
modules we just installed, and grunt.initConfig
contains a configuration for each grunt module:
The configuration for cafemocha
contains two sections; one for running our tests and one for generating a code coverage report. In order to run our tests from grunt, execute the following command:
The following line registers a task that sets the environment using env
and runs both the jscoverage
and cafemocha:coverage
tasks in sequence:
In order to run our coverage from grunt, execute the following command:
This command will generate the coverage report as described earlier.