grunt "test command" 在 npm init 上做了啥
Posted
技术标签:
【中文标题】grunt "test command" 在 npm init 上做了啥【英文标题】:what does grunt "test command" do on npm initgrunt "test command" 在 npm init 上做了什么 【发布时间】:2013-06-12 06:03:44 【问题描述】:我正在努力学习咕噜声。当我运行 npm init 时,我在创建一个询问“测试命令”的 package.json 文件的过程中收到提示 - 我不确定如何使用它,或者它的预期。它似乎没有很好的记录。如果我将其留空,我会在生成的 package.json 文件中得到它:
"scripts":
//"test": "echo \"Error: no test specified\" && exit 1"
,
谁能解释一下如何设置测试脚本?
【问题讨论】:
嗯,你在对你的应用程序进行单元测试吗? 【参考方案1】:首先,你的 package.json 中的 scripts-property 与 grunt 本身无关。它只是一个来自 npm 的 cli 命令,如果你运行它就会运行
$ npm test
在此处了解更多信息:https://npmjs.org/doc/scripts.html
例如如果您使用 grunt & nodeunit 测试您的应用程序,您可以将其添加到脚本块
"scripts":
"test": "grunt nodeunit"
如果你运行'npm test',你的nodeunit-task就会运行
如果您更改底层测试框架,这基本上可以更轻松地进行持续集成等。
当然,如果您在运行测试之前和之后需要做更多事情(例如之前的连接,之后的清理),您可以添加 alias-task
【讨论】:
作为扩展,您可以在 npm test 中使用多个命令执行 package.json,例如,如果您想要 grunt 并编译您的 sass,您可以这样做 - "test": "grunt && compass compile" @SimonPertersen:我不会这样做。那里有一个 grunt-compass 插件。如果你想运行测试然后编译 compass,你应该使用这个插件,注册一个运行这个链的别名任务,然后让 npm test 运行你的别名任务! 这只是一个示例,您可以执行大量命令或将其用于其他事情,这只是因为我手头有这个 - 但别名任务仅适用于咕噜声,我可以运行终端命令吗还有吗? 当然可以,但是对于您想要在那里做的几乎所有事情,都会有一个可用的 grunt 插件。如果没有,为你想做的任务写一个!【参考方案2】:如上面的答案中所述,您可以在从 cmd 创建包 json 或手动编辑 json 文件时指定它时运行测试命令。 基本上按照 npm 文档,它用于运行提供的包的测试脚本。
npm docs test
在我的例子中,我使用它来测试一个使用 Jasmine(spec.js 文件)的角度应用程序,可以在本文中找到示例用法:-
Getting Started with Node.js and Jasmine
【讨论】:
以上是关于grunt "test command" 在 npm init 上做了啥的主要内容,如果未能解决你的问题,请参考以下文章
Grunt-Mocha-Test BlanketJS 覆盖范围