12

我们在 react-native 中使用单元测试中的玩笑。它运作良好。我们刚刚删除了 npm 并再次安装它,然后当我们尝试运行单元测试(npm test)时,我们收到以下错误,我们无法运行测试用例。

在此处输入图像描述

可能出了什么问题。

4

7 回答 7

3

尝试重新安装 jest 和 jest babel 最新版本

npm install --save-dev jest

npm install --save-dev babel-jest regenerator-runtime

并重新运行测试,它对我有用

于 2017-04-03T13:14:05.540 回答
2

将 jest-cli 版本从 18 升级到 19 解决了这个问题。

开玩笑的 github repo 中的问题

于 2017-03-13T09:25:27.103 回答
1

反应 17+

  "devDependencies": {
    "@testing-library/dom": "^8.11.1",
    "@testing-library/jest-dom": "^5.16.1",
    "@testing-library/react": "^11.2.7",
    "@testing-library/user-event": "^12.8.3",
    "@types/jest": "^26.0.24",
    "@types/react": "^17.0.27",
    "@types/react-table": "^7.7.7",
    "jest": "26.0.1",
    "ts-jest": "26.0.0",
    "typescript": "^4.5.4"
  }

错误出现在 jest 27+ 版本上,但设置为 26 后效果很好。

于 2021-12-15T12:28:29.603 回答
0

将此添加到您的代码中。

global.fetch = jest.fn().mockImplementation(() => mockFetchPromise);

字体:https ://rishabhsrao.medium.com/mocking-and-testing-fetch-with-jest-c4d670e2e167

于 2022-01-03T13:50:59.500 回答
0

如果您在

global.requestAnimationFrame = function(callback) {
    setTimeout(callback, 0);
};

“package.json”中名为“shim.js”或“setupshim.js”的文件:

"setupFiles": [
     <rootDir>/__test__/setup/shim.js 
],

删除此文件。这将有助于消除“Jest”单元测试中的这个错误。

这对我有用,希望这对你也有用。

于 2018-11-01T07:06:27.120 回答
0

我有同样的错误:

Test suite failed to run, TypeError: Cannot read property 'bind' of undefined

类似于@Harish_N,但我使用的是react-scripts

就我而言,完全是关于将与测试相关的依赖项更新为package.json中的较新版本。

于 2017-04-28T10:34:45.687 回答
0

我有同样的问题。我从仅使用笑话的几个测试开始,然后我在另一台机器上使用 create-react-app 初始化文件夹并恢复以前的测试。之后,我切换回我当前的机器,执行 npm install 并运行测试。它给了我这个错误,所以我删除了 node_modules 并再次 npm install 。现在所有的测试都是绿色的。

于 2017-03-12T09:14:23.233 回答