Javascript Karma babel polyfill类型错误

Javascript Karma babel polyfill类型错误,javascript,karma-runner,babeljs,redux-saga,babel-polyfill,Javascript,Karma Runner,Babeljs,Redux Saga,Babel Polyfill,我一直在尝试在karma中使用generator,我读了很多关于在karma.conf.js中的测试文件之前需要包含polyfill文件的内容 这是我的karma.conf.js文件: let webpackConfig = require('./webpack.config.js'); webpackConfig.entry = './src/index.js'; config = { frameworks: ['mocha', 'chai', 'sinon'], fil

我一直在尝试在karma中使用generator,我读了很多关于在
karma.conf.js
中的测试文件之前需要包含polyfill文件的内容

这是我的
karma.conf.js
文件:

let webpackConfig = require('./webpack.config.js');
webpackConfig.entry = './src/index.js';

config = {

    frameworks: ['mocha', 'chai', 'sinon'],

    files: [
      './node_modules/babel-polyfill/dist/polyfill.js',
      // './node_modules/babel-polyfill/browser.js',
      './test/tests.webpack.js'
    ],

    preprocessors: {
      './src/index.js': ['webpack', 'sourcemap'],
      // './src/**/*.js': ['webpack', 'sourcemap'],
      './test/tests.webpack.js': ['webpack', 'sourcemap'],
    },

    webpack: webpackConfig,

    ...
}
但我每次运行
karma start
时都会遇到这个错误:

未捕获类型错误:无法读取未定义的属性“2”

只有在
文件中有
polyfill
文件时才会显示此错误,如果删除它,则会出现以下错误:
未定义再生运行时间

我跟踪了错误,它来自于这一个(redux saga)


在我的传奇故事中我做错了什么吗?还是巴贝尔?还是别的地方?任何帮助都将不胜感激

我只是解决了这个问题,但并没有真正解决它。我猜这是因为我导入了
index.js
,加载并呈现所有react应用程序。在我删除导入到
index.js
之后,它工作正常。我想我会坚持不导入
index.js
,因为渲染整个应用程序对单元测试非常不利。但我仍然不知道真正的原因在哪里,因为你混合了巴贝尔变换运算和多边形填充?仅仅转换是不够的,因为您应该添加运行时多边形填充,例如。再生器RUNTIME公司。
var _marked = [selectedDataChanged, selectedInfoChanged, stockAppSaga].map(regeneratorRuntime.mark);

function stockAppSaga() {
    return regeneratorRuntime.wrap(function stockAppSaga$(_context3) {
        while (1) {
            switch (_context3.prev = _context3.next) {
                case 0:
                    _context3.next = 2;
                    return [
                    // takeEvery(
                    //     [actionTypes.SELECTED_TICKER_CHANGED, actionTypes.SELECTED_DATE_CHANGED],
                    //     selectedInfoChanged
                    // ),
                    (0, _effects.takeEvery)([actionTypes.SELECTED_TICKER_CHANGED, actionTypes.SELECTED_DATE_CHANGED], selectedDataChanged)];

                case 2:
                case 'end':
                    return _context3.stop();
            }
        }
    }, _marked[2], this); // this is the error line
}