Ошибки тестирования с nwb, React 16, Enzyme 3, Karma, PhantomJS - ReferenceError: Невозможно найти переменную: Set - PullRequest
0 голосов
/ 13 ноября 2018

Я использую nwb для приложения React и пытаюсь заставить Enzyme работать в нем.Приложение также использует Karma и PhantomJS.Вот ошибка, которую я вижу:

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  {
    "message": "ReferenceError: Can't find variable: Set at node_modules/karma-enzyme-react-16/adapter.js:71256:21",
    "str": "ReferenceError: Can't find variable: Set at node_modules/karma-enzyme-react-16/adapter.js:71256:21"
  }
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 0 of 0 ERROR (0.36 secs / 0 secs)

Вот мой nwb.config.js файл:

module.exports = {
  type: "react-app",
  karma: {
    frameworks: ["enzyme-react-16"],
    plugins: [
      require("karma-enzyme-react-16")
    ],
    testContext: "tests.webpack.js"
  }
}

Вот мои тесты.webpack.js файл:

import "./enzyme.js";

const context = require.context("./src", true, /\.spec\.js$/);
context.keys().forEach(context);

И мой фермент.js файл:

import Enzyme from "enzyme";
import Adapter from "enzyme-adapter-react-16";

Enzyme.configure({adapter: new Adapter()});

export * from "enzyme";

Я создал фермент.js файл, основанный на предложении от Enzyme docs.Я также попытался добавить babel-polyfill в мою конфигурацию Karma, но nwb уже загружает его.

...