伊斯坦布尔和摩卡的报道报告

时间:2016-04-29 13:48:08

标签: node.js unit-testing mocha code-coverage loopbackjs

我是Node.js的新手。我必须在我的应用程序中设置一些测试,我真的很生气,试图在我的mocha应用程序中生成istanbulloopback的后端代码覆盖率报告。

搜索了成千上万的dab解释了关于Github的文章我找到了一些好articles然后我发现我必须使用这样的东西:

istanbul cover _mocha -- [path/to/test/files] -R spec

我很高兴,因为它说:“你实际上在做的是将命令传递到伊斯坦布尔,而伊斯坦布尔将代表你运行这些测试。”但是,每次我尝试运行伊斯坦布尔时,都会收到此错误:

No coverage information was collected, exit without writing coverage information
C:\...\proj-name\node_modules\.bin\_mocha:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
          ^^^^^^^

SyntaxError: missing ) after argument list

我的工作测试文件是:

var userService = require('../TestBusinessLogic.js');
var should = require('chai').should();

describe('API Utenti', function() {
  it('should throw Exception on missing UserName', function() {
    (function() {
      userService({ Name: 'Pippo', Surname: 'Baudo' });
    }).should.Throw(Error);
  });
});

这个命令好用吗?如果没有,有人可以使用istanbul mocha向我解释如何制作报道报告吗?

2 个答案:

答案 0 :(得分:3)

认为我正在运行node_modules\.bin\_mocha而不是node_modules\mocha\bin\_mocha,这解决了我的问题。

答案 1 :(得分:2)

从命令行运行istanbul时,您需要从项目目录的根目录运行它,默认情况下会查找要在目录根目录运行coverage报告的文件。

另外,请确保您的测试文件夹路径是相对于项目目录的。

因此,您应该使用cd导航到项目目录,然后在项目目录中运行

istanbul cover _mocha -- ./path-to/test.js -R spec

相关问题