web-dev-qa-db-ja.com

カバレッジなしニューヨークモカ

テストケースに合格しているのに、なぜテストカバレッジが0なのか理解できません。 package.jsonにスクリプトがあります:

"nyctest": "node --max_old_space_size=4096 node_modules/nyc/bin/nyc.js --reporter=text mocha"

実行するとnpm run nyctest

私のテストは合格ですが、カバレッジは0パーセントです。

enter image description here

以下はテストであり、ファイルはテストです。

test.js

var chai = require('chai');
var sinon = require('sinon');
var sinonChai = require('sinon-chai');
chai.should();
chai.use(sinonChai);
var application = require('../../../src/main/resources/static/js/components/app.js');

describe('sample return testing', function(){
    it('should return true', function(){
        application.sample.returnValue().should.equal(true);
    })
});

app.js

const sample = {
    returnValue: function () {
        return true;
    }
};

module.exports = {sample};

助けに感謝します。

6
Faraz

同様の問題がありました。 nyctestコマンドを-allフラグで変更する必要があると思います。

私のコマンドは次のとおりです。

"nyctest":"nyc --reporter = lcov --reporter = text-lcov --all -x \" ./ node_modules /\ "-x \" ./ Coverage /\ "check-coverage --lines 10 --functions 90 npm run unittest"

したがって、-allフラグを使用すると、すべてのファイルがフェッチされます:)

3
Clinton Roy

私の場合は少し異なります、

mochaをグローバルにインストールしましたが、nycがモカをグローバルに参照すると、カバレッジレポートに何も表示されません。

走ると結果が出ました

nyc node_modules/.bin/mocha

これは既知の問題であり、ここを参照してください https://github.com/istanbuljs/nyc/issues/1029#issuecomment-51417434