Last Updated: February 25, 2016
·
2.004K
· eskimoblood

Run your BusterJS test with grunt

All you have to do is add the following devDependencies to your package.json file or create a new package.json with the following lines:

{
  "devDependencies": {
    "buster": "~0.6.0",
    "grunt": "0.3.15",
    "grunt-buster": "~0.1.2"
  }
}

Now you have to install the dependencies using npm install in the root of your project. This will install busterJS, grunt and buster-grunt.

Lets create a grunt file using grunt init:gruntfile. After creating the file you have to add the buster task to the config and load the buster-grunt task. So the minimal version should look like this:

module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({

    //run buster task when ever a file in this paths changes
    watch: {
      files: ['grunt.js', 'lib/**/*.js', 'test/**/*.js'],
      tasks: 'buster'
    },
    //configure the buster task
    buster: {
      test: {
        //path to the buster config file
        config: 'test/buster.js'
      },
      server: {
        port: 1111
      }
    }
  });
  //load grunt-buster
  grunt.loadNpmTasks('grunt-buster');
};

At least you need a buster configuration file (in the path that was defined in the grunt config, in this case test/buster.js):

var config = module.exports;

config["My tests"] = {
  rootPath: "../",
  environment: "browser",
  sources: [
    "lib/lib.js"
  ],
  tests: [
    "test/*-test.js"
  ]
};

Start grunt with grunt watch from the command line and whenever you change a file it will run all your buster tests.

Have a fresh tip? Share with Coderwall community!

Post
Post a tip
Did you know?

JavaScript on a page runs with the privileges of that origin. One altered library, tag manager, or snippet can read inputs, change what people see, and call your APIs as the user.

Security insights from Cside