Я использую 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 уже загружает его.