在创建 package.json 时,test 命令是什么?

在使用 npm init从命令行创建 package.json以便在 Node.js 中创建模块时,有一个我不知道的 测试命令字段。在执行 npm help json的文档中也没有提到它,在 CLI 中也没有。

请解释一下是关于什么的。

74745 次浏览

Assuming you mean scripts.test:

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

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).

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.