Reputation: 3994
While creating package.json
from command line using npm init
for creating a module in Node.js, there is a test command field that I don't know about. There's no mention of it in the docs too on executing npm help json
also in the CLI.
Please explain what it is about.
Upvotes: 104
Views: 97149
Reputation: 203514
Assuming you mean scripts.test
:
"scripts" : {
"test" : "echo 'Error: no test specified'; false"
}
This field contains the program(/command line) that should run when you call npm test
. Typically, that program is a test-runner like mocha
, ava
, jest
, ...
The default value is a placeholder that prints an error message (try running npm test
in the same directory as your package.json
).
Upvotes: 26
Reputation: 10414
The test command
is the command that is run whenever you call npm test
.
This is important when integrating with continuous integration/continuous deployment tools (such as jenkins
, codeship
, teamcity
).
Example:
- say you deploy a project to AWS or some other cloud hosting provider,
- you can set up your infrastructure to automatically run npm test
.
- If there are problems within those tests, your ci/cd will automatically rollback before deploying.
To execute tests
You can use karma, jest, or selenium/nightmare/phantomjs or about any other test scripting library/framework that allows you to write and execute tests and then set the required command in scripts.test and finally run it from npm test
.
Upvotes: 72