如何让伊斯坦布尔与Sails.js 0.10.x合作?

时间:2014-06-24 01:58:23

标签: javascript node.js mocha sails.js istanbul

我正在尝试使用Sails.js 0.10.x应用程序使用Istanbul代码覆盖率工具。

我看到了http://blog.sergiocruz.me/unit-test-sailsjs-with-mocha-and-instanbul-for-code-coverage/但是它使用了0.9.x,并且由于Grunt设置的更改,使用0.10.x的相同步骤不起作用。

我尝试按如下方式进行调整:

  • tasks/config/istanbulCoverage.js

    module.exports = function (grunt) {
      grunt.config.set('mocha_istanbul', {
        coverage: {
          src: 'test',
          options: {
            coverageFolder: 'coverage',
            mask: '**/*.spec.js',
            root: 'api/'
          }
        }
      });
    
      grunt.loadNpmTasks('grunt-mocha-istanbul');
    };
    
  • tasks/register/coverage.js

    module.exports = function (grunt) {
      grunt.registerTask('coverage', [
        'mocha_istanbul:coverage'
      ]);
    };
    

但是这会导致只创建/coverage目录,但不会在其中创建文件。

没有错误消息,所有测试都通过,除了没有创建覆盖率报告外,一切似乎都很好。

任何人都知道什么是错的?如果这很重要,我在Windows上,但稍后会尝试使用* nix VM。

2 个答案:

答案 0 :(得分:0)

我将Sails更新为v0.10.4。除了使用grunt.registerTask('test',...)之外,我的配置与您类似。然后运行grunt test。它运作良好,包括报道报告。尝试一下。

答案 1 :(得分:0)

我的情况与你类似,我发现这篇文章: Testing and code coverage using grunt-mocha-istanbul in Sails js ,我按照步骤操作,最后工作得很好。也许你可以试试。