TypeError:Object.values不是一个函数 - 如何在jest中正确填充babel-preset-env?

Rya*_*ner 6 jestjs

升级到Jest v20之后我收到以下错误,babel-polyfill由于内存泄漏,他们删除了自动:

TypeError: Object.values is not a function

我知道我现在需要自己填充这个,我正在使用babel-preset-env并拥有以下.babelrc文件:

  "env": {
    "development": {
      "plugins": ["transform-react-jsx-source"]
    },
    "test": {
      "presets": [
        "react",
        "stage-3",
        ["env", {
          "targets": {
            "browsers": [
              "firefox >= 36",
              "chrome >= 38",
              "opera >= 25",
              "safari >= 9",
              "ios >= 9"
            ],
            "node": "6.11.4"
          },
          "useBuiltIns": "usage",
          "include": ["es7.object.values"],
          "debug": true
        }],
        "jest"
      ],
      "plugins": [
        "transform-class-properties"
      ],
    }
  }
Run Code Online (Sandbox Code Playgroud)

我可以看到es7.object.values在调试输出中正在填充:

Using polyfills:
  ...
  es7.object.values {"chrome":"38","firefox":"36","ios":"9","safari":"9","node":"6.11.4"}
Run Code Online (Sandbox Code Playgroud)

但我仍然收到错误消息,帮助!

Wik*_*ski 2

一些选项是:

  1. 将节点版本升级为支持版本Object.values(这似乎是7.0这个答案判断的),
  2. babel-polyfill使用(通过文件import 'babel-polyfill'中)填充setupTests.js