Ошибки тестирования с nwb, React 16, Enzyme 3, Karma, PhantomJS - ReferenceError: Невозможно найти переменную: Set
Я использую 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"
}
}
Вот мой файл tests.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 уже загружает его.