繁体   English   中英

从节点运行Mocha测试

[英]Running mocha tests from node

我正在尝试从node运行我的摩卡测试。 最终目标是通过伊斯坦布尔/毯子添加代码覆盖率,并生成一个lcov文件,以输入声纳以覆盖代码。

这是我正在尝试的示例项目https://github.com/rajarshigoswami/Todos

摩卡测试在https://github.com/rajarshigoswami/Todos/tree/master/test/mocha下

测试是从浏览器运行的,但是当我通过节点尝试时,它不会选择任何规格文件。

如何使用:运行:npm install然后:grunt

我的问题是:

  1. 我在这里想念或做错了什么?
  2. 我如何集成blank.js / istanbul以生成lcov文件

我会改变几件事。 只需将其添加到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任务运行器上与phantomrequirejs一起使用,您可以使用grunt-mocha-phantomjs

对于您其他使用istambol问题,请检查此链接 (此链接更适合您的目的,因为它也使用主干(- istambol

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM