[英]Running mocha tests from node
我正在尝试从node运行我的摩卡测试。 最终目标是通过伊斯坦布尔/毯子添加代码覆盖率,并生成一个lcov文件,以输入声纳以覆盖代码。
这是我正在尝试的示例项目https://github.com/rajarshigoswami/Todos
摩卡测试在https://github.com/rajarshigoswami/Todos/tree/master/test/mocha下
测试是从浏览器运行的,但是当我通过节点尝试时,它不会选择任何规格文件。
如何使用:运行:npm install然后:grunt
我的问题是:
我会改变几件事。 只需将其添加到package.json
"scripts": {
"test":
"./node_modules/.bin/istanbul test ./node_modules/.bin/_mocha -- -R spec"
}
现在,当您进行npm test
它将运行摩卡和istambul
本文将为您提供帮助
根据您需要执行的操作,有几种选择:
1)首先,最好知道在节点上运行测试的实际含义是什么? 例如,我用来mocha
测试我的node.js
应用程序的服务器端代码。 它只是在不依赖任何特定环境的情况下运行测试(显然不包括node.js
)。 如果没有任何其他工具,只需运行mocha your/custom/test/directory/
(假定您的mocha
已全局安装)。 因此,只要您的视图测试不依赖于在Web浏览器中运行就可以了。
2)如果您只想运行前端测试而无需在Web浏览器中手动打开SpecRunner.html,我强烈建议您使用karma
测试运行程序以及无头浏览器(如PhantomJS
。
3)最后,如果您已经安装了grunt
,请抓住mocha-istanbul
npm模块。 配置非常简单:
mocha_istanbul: {
coverage: {
// where your tests leave
src: 'server/tests',
options: {
// instrument only spec files
mask: '*.spec.js',
// output a human readable website
// (along site regular test summary produced by mocha)
reportFormats: ['html']
}
}
}
因此,您可以看到那里有一些选择。 只要抓住最适合您的项目的一个。
您的问题是您正在尝试使用requirejs
测试代码
为了使您的mocha规范在phantom
任务运行器上与phantom
和requirejs
一起使用,您可以使用grunt-mocha-phantomjs
对于您其他使用istambol
问题,请检查此链接 (此链接更适合您的目的,因为它也使用主干(- istambol
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.