【问题标题】: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

标签: node.js package.json


【解决方案1】:

test command 是在您调用 npm test 时运行的命令。

在与持续集成/持续部署工具(例如jenkinscodeshipteamcity)集成时,这一点很重要。

示例:
- 假设您将项目部署到 AWS 或其他云托管服务提供商,
- 您可以将基础架构设置为自动运行npm test
- 如果这些测试中有问题,您的 ci/cd 将在部署前自动回滚。

执行测试
您可以使用 karmajestselenium/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 时应运行的程序(/命令行)。通常,该程序是一个测试运行程序,例如 mochaavajest、...

默认值是打印错误消息的占位符(尝试在与package.json 相同的目录中运行npm test)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 2021-01-04
    • 2020-06-03
    • 2014-12-17
    • 2014-08-05
    • 1970-01-01
    相关资源
    最近更新 更多