what does grunt "test command" do on npm init

Javascriptnode.jsPackageGruntjs

Javascript Problem Overview


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?

Javascript Solutions


Solution 1 - Javascript

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 2 - Javascript

As mentioned in the answer above you can run your test command when you specify it during creation of package json from cmd or by editing the json file manually. Basically as per the npm docs it is used to run the provided package's test script.

npm docs test

In my case , Iam using it to test an angular application using Jasmine(spec.js files) a sample usage can be found in this article :-

Getting Started with Node.js and Jasmine

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionmheaversView Question on Stackoverflow
Solution 1 - Javascripthereandnow78View Answer on Stackoverflow
Solution 2 - JavascriptVibhuView Answer on Stackoverflow