小编典典

TypeError:environment.setup不是React Testing中的函数

reactjs

我正在尝试实现Jest网站上显示的示例:Jest 入门

在运行时npm test,出现以下错误:

FAIL  src/sum.test.js
  ● Test suite failed to run

    TypeError: environment.setup is not a function

      at node_modules/jest-runner/build/run_test.js:112:23

sum.js

function sum(a, b){
  return a+b;
}
module.exports = sum;

sum.test.js

const sum = require('./sum');

test('adding sum function', () => {
  expect(sum(234,4)).toBe(238);
})

sum.js并且sum.test.jsJest入门中显示的示例的完整副本。

package.json

{
  "name": "jest-demo-test",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "react-scripts": "1.0.17"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "jest",
    "eject": "react-scripts eject"
  },
  "devDependencies": {
    "jest": "^22.0.4"
  }
}

那么,如何摆脱TypeError: environment.setup is not a function错误呢?


阅读 282

收藏
2020-07-22

共1个答案

小编典典

Jest包含在react-scripts中。该错误是由于在以react-scripts开头的项目中安装Jest时发生了冲突。“
Jest入门”指南要求一个“干净”的项目。

只需从您的(dev)依赖关系中删除Jest,它就可以工作。

如果你想用玩笑来测试反应的组分(你可能做的),你需要修改你的测试脚本中package.jsonreact-scripts test --env=jsdom,因为它是。

2020-07-22