从节点运行摩卡测试

Running mocha tests from node

本文关键字:测试 摩卡 运行 节点      更新时间:2023-09-26

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

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

摩卡测试正在进行中https://github.com/rajarshigoswami/Todos/tree/master/test/mocha

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

如何使用 :运行:npm 安装然后:咕噜咕噜

我的问题是:

  1. 我在这里错过了什么或做错了什么?
  2. 如何集成毯子.js/伊斯坦布尔以生成 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测试代码

为了使 You Mocha 规范与 phantom 一起工作,并在 Grunt 任务运行器上requirejs您可以使用grunt-mocha-phantomjs

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