Отчеты о освещении в Нью-Йорке пустые с Babel Mocha - PullRequest
2 голосов
/ 15 марта 2019

Я использую mocha для модульного тестирования моего кода js, который также использует babel. Я использую nyc для покрытия. Но в итоге результат показывает пустой.

bash output

Почему отображаются все файлы 0, хотя для моего тестового файла требуются файлы redux.js и number-reducer.js?

мой тестовый скрипт внутри package.json

{
  ...
  "scripts": {
    ...
    "test": "cross-env NODE_ENV=test npm run lint && nyc --reporter=lcov --reporter=text mocha",
    "coverage": "nyc report --reporter=text-lcov | coveralls"
  },
   ...
  "devDependencies": {
    "@babel/core": "~7.3.4",
    "@babel/preset-env": "~7.3.4",
    "@babel/register": "~7.0.0",
    "babel-loader": "~8.0.5",
    "babel-plugin-istanbul": "~5.1.1",
    "babel-polyfill": "~6.26.0",
    "chai": "~4.2.0",
    ...
    "cross-env": "~5.2.0",
    "eslint": "~5.15.0",
    "mocha": "~6.0.0",
    "nyc": "~13.3.0",
    ...
    "webpack": "~4.29.4",
    "webpack-cli": "~3.2.1"
  },
  "nyc": {
    "require": [
      "@babel/register"
    ],
    "reporter": [
      "lcov",
      "text"
    ],
    "sourceMap": false,
    "instrument": false
  }
}

Мой .babelrc файл

{
  "presets": [
    "@babel/preset-env"
  ],
  "env": {
    "test": {
      "plugins": ["istanbul"]
    }
  }
}

Мой test.spec.js файл

import chai from "chai";
let redux = require("../src/js/redux").redux;
let NumberReducer = require("../src/js/number-reducer").NumberReducer;

const expect = chai.expect;

describe("ReduxModule", function () {
    it('should expect an object', function () {
        const ReduxModule = redux(NumberReducer);
        expect(ReduxModule).to.be.a("object");
    });
    describe('ReduxModule#getState', function () {
        it('should give me zero', function () {
            const ReduxModule = redux(NumberReducer);
            expect(ReduxModule.getState()).to.equal(0);
        });
...
    });
});
...