创建 package.json 时的测试命令是啥?
Posted
技术标签:
【中文标题】创建 package.json 时的测试命令是啥?【英文标题】:What is the test command while creating package.json?创建 package.json 时的测试命令是什么? 【发布时间】:2017-12-06 08:56:32 【问题描述】:在使用npm init
从命令行创建package.json
以在Node.js 中创建模块时,有一个我不知道的测试命令 字段。在 CLI 中执行 npm help json
时,文档中也没有提及它。
请解释它是关于什么的。
【问题讨论】:
简而言之,如果您有一个流行的工具来运行测试,那么 test 命令很可能只是该工具的名称......即jest
。
【参考方案1】:
test command
是在您调用 npm test
时运行的命令。
在与持续集成/持续部署工具(例如jenkins
、codeship
、teamcity
)集成时,这一点很重要。
示例:
- 假设您将项目部署到 AWS 或其他云托管服务提供商,
- 您可以将基础架构设置为自动运行npm test
。
- 如果这些测试中有问题,您的 ci/cd 将在部署前自动回滚。
执行测试
您可以使用 karma、jest 或 selenium/nightmare/phantomjs 或任何其他允许您编写和执行的测试脚本库/框架测试,然后在 scripts.test 中设置所需的命令,最后从 npm test
运行它。
【讨论】:
这里的函数到底是什么意思? *将措辞从function
更改为command
基本上认为,说你想运行mocha test.js
- 每次你想运行mocha
时都没有必要输入它
你能做什么,它添加 npm precommits/postcommits 来运行npm test
以确保你的测试通过
好的,知道了!谢谢!
还有一个问题!这些是由什么制成的?我的意思是如果我的应用程序使用多个模块怎么办?我是否为每个模块编写测试以检查其各自的代码?它是如何工作的?【参考方案2】:
假设你的意思是scripts.test
:
"scripts" :
"test" : "echo \"Error: no test specified\" && exit 1"
此字段包含调用npm test
时应运行的程序(/命令行)。通常,该程序是一个测试运行程序,例如 mocha
、ava
、jest
、...
默认值是打印错误消息的占位符(尝试在与package.json
相同的目录中运行npm test
)。
【讨论】:
以上是关于创建 package.json 时的测试命令是啥?的主要内容,如果未能解决你的问题,请参考以下文章
package.json 里的 devDependencies 是啥意思
package.json 依赖项中的“下一个”到底是啥意思?
这些在 package.json 中使用下划线前缀的属性是啥?