我们在 react-native 中使用单元测试中的玩笑。它运作良好。我们刚刚删除了 npm 并再次安装它,然后当我们尝试运行单元测试(npm test)时,我们收到以下错误,我们无法运行测试用例。
可能出了什么问题。
我们在 react-native 中使用单元测试中的玩笑。它运作良好。我们刚刚删除了 npm 并再次安装它,然后当我们尝试运行单元测试(npm test)时,我们收到以下错误,我们无法运行测试用例。
可能出了什么问题。
尝试重新安装 jest 和 jest babel 最新版本
npm install --save-dev jest
npm install --save-dev babel-jest regenerator-runtime
并重新运行测试,它对我有用
将 jest-cli 版本从 18 升级到 19 解决了这个问题。
反应 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 后效果很好。
将此添加到您的代码中。
global.fetch = jest.fn().mockImplementation(() => mockFetchPromise);
字体:https ://rishabhsrao.medium.com/mocking-and-testing-fetch-with-jest-c4d670e2e167
如果您在
global.requestAnimationFrame = function(callback) {
setTimeout(callback, 0);
};
“package.json”中名为“shim.js”或“setupshim.js”的文件:
"setupFiles": [
<rootDir>/__test__/setup/shim.js
],
删除此文件。这将有助于消除“Jest”单元测试中的这个错误。
这对我有用,希望这对你也有用。
我有同样的错误:
Test suite failed to run, TypeError: Cannot read property 'bind' of undefined
类似于@Harish_N,但我使用的是react-scripts。
就我而言,完全是关于将与测试相关的依赖项更新为package.json中的较新版本。
我有同样的问题。我从仅使用笑话的几个测试开始,然后我在另一台机器上使用 create-react-app 初始化文件夹并恢复以前的测试。之后,我切换回我当前的机器,执行 npm install 并运行测试。它给了我这个错误,所以我删除了 node_modules 并再次 npm install 。现在所有的测试都是绿色的。