what does grunt "test command" do on npm init

Problem

I'm trying to learn grunt. When I run npm init, I get a prompt in the process of creating a package.json file that asks for "test command" - I'm not sure how to utilize this, or what it's expecting. It doesn't seem to be well documented. If I leave it blank, I get this in the resulting package.json file:

"scripts": {
    //"test": "echo \"Error: no test specified\" && exit 1"
  },

Can anybody shed some light on how to set up a test script?

Problem courtesy of: mheavers

Solution

at first, the scripts-property in your package.json has nothing to do with grunt itself. its just a cli-command from npm, wich will be run if you run

$ npm test

read more about that here: https://npmjs.org/doc/scripts.html

e.g. if you test your application with the grunt & nodeunit you could just add that to the scripts-block

"scripts": {
  "test": "grunt nodeunit"
}

and your nodeunit-task is run if you run 'npm test'

this basically makes it easier for continuous integration and so on, if you change your underlying testframework.

of course you could add an alias-task if you need more to be done before and after your tests are run (e.g. concatenation before, cleanup after)

Solution courtesy of: hereandnow78

Discussion

There is currently no discussion for this recipe.

This recipe can be found in it's original form on Stack Over Flow.