Node.js 节点JS+;Grunt声纳跑步者+;代码覆盖率未显示

Node.js 节点JS+;Grunt声纳跑步者+;代码覆盖率未显示,node.js,gruntjs,sonarqube,mocha.js,Node.js,Gruntjs,Sonarqube,Mocha.js,我在NodeJS中创建了一个REST服务,并使用mocha编写了测试用例。我已经能够使用伊斯坦布尔生成代码覆盖率,并且工作非常好。现在我的要求是使用声纳显示代码覆盖范围。法规遵从性违规按预期列出。但声纳并没有生成代码覆盖范围。我怀疑gruntfile.js配置有问题。目前,我通过复制节点_模块中grunt sonar runner文件夹中的源代码并执行grunt sonar runner来生成代码遵从性冲突。我当前的文件夹结构如下所示: <ProjectRoot> |--serve

我在NodeJS中创建了一个REST服务,并使用mocha编写了测试用例。我已经能够使用伊斯坦布尔生成代码覆盖率,并且工作非常好。现在我的要求是使用声纳显示代码覆盖范围。法规遵从性违规按预期列出。但声纳并没有生成代码覆盖范围。我怀疑gruntfile.js配置有问题。目前,我通过复制节点_模块中grunt sonar runner文件夹中的源代码并执行grunt sonar runner来生成代码遵从性冲突。我当前的文件夹结构如下所示:

<ProjectRoot>

|--server.js
|--[test]
|--|--serverTest.js

|--[node_modules]
|--|--[grunt-sonar-runner]
|--|--|--[src]
|--|--|--|--server.js
我们有两个部分-->分析和试运行。这是干什么

除此之外,我们还有一把钥匙叫mochaTest

在伊斯坦布尔运行mocha时,我将在名为coverage的文件夹中的项目根目录中生成覆盖率报告。不幸的是,它没有被列入声纳。任何帮助都将不胜感激

提前感谢,


Noble只需在项目根文件夹中定义sonar-roject.properties。在该属性文件中,我们可以指定伊斯坦布尔生成的lcov.info的相对路径。启动sonar qube服务器后,只需运行sonar runner(前提是系统路径中存在sonar runner)。Sonar报告将在Sonar dashboard中可见

您是否应该提供选项。Sonar.javascript.lcov.reportPath?对谢谢你的回复。问题解决了。已卸载grunt sonar runner模块。只需在项目根文件夹中定义sonar-roject.properties。在该属性文件中,我们可以指定伊斯坦布尔生成的lcov.info的相对路径。启动sonar qube服务器后,只需运行sonar runner(前提是系统路径中存在sonar runner)。声纳报告将在声纳仪表板中可见。
grunt.initConfig({
    jshint: {
        all: [
            'Gruntfile.js',
            'tasks/*.js',
            'test/*.js'
        ],
        options: {
            jshintrc: '.jshintrc'
        }
    },

    // Before generating any new files, remove any previously-created files.
    clean: {
        tests: ['tmp']
    },

    // Configuration to be run (and then tested).
    sonarRunner: {
        analysis: {
            options: {
                debug: true,
                separator: '\n',
                sonar: {
                    host: {
                        url: 'http://localhost:9000'
                    },
                    jdbc: {
                        url: 'jdbc:h2:tcp://localhost:9092/sonar',
                        username: 'sonar',
                        password: 'sonar'
                    },
                    projectKey: 'sonar:grunt-sonar-runner:0.1.0',
                    projectName: 'Grunt Sonar Runner',
                    projectVersion: '0.10',
                    sources: ['src'].join(','),
                    language: 'js',
                    sourceEncoding: 'UTF-8'
                }
            }
        },
        dryRun: {
            options: {
                dryRun: true,
                debug: true,
                separator: '\n',
                sonar: {
                    host: {
                        url: 'http://localhost:9000'
                    },
                    jdbc: {
                        url: 'jdbc:mysql://localhost:3306/sonar',
                        username: 'sonar',
                        password: 'sonar'
                    },
                    projectKey: 'sonar:grunt-sonar-runner:0.1.0',
                    projectName: 'Grunt Sonar Runner',
                    projectVersion: '0.10',
                    sources: ['src'].join(','),
                    exclusions: '**/R.js'
                }
            }
        }
    },

    // Unit tests.
    mochaTest: {
        test: {
            options: {
                reporter: 'spec'
            },
            src: ['test/**/*.js'],

        }
    }

});