已解决,贴下我的情况,供后来的同学参考。。
1、尝试了老师说的重装@testing-library/react @testing-library/jest-dom,此时编译器已经可以通过了,但是报了新错
2、新错误显示:TypeError: MutationObserver is not a constructor 以及wait已经过时,用waitFor替代的警告,同时有个类型错误
3、一个个解决
过时警告:将wait改写为waitFor
类型错误:增加as断言解决,反正如果断言错误了说明用例也无法通过
MutationObserver的报错:参考了回答https://stackoverflow.com/questions/61036156/react-typescript-testing-typeerror-mutationobserver-is-not-a-constructor
增加依赖:yarn add jest-environment-jsdom-sixteen
然后修改默认test命令:"test": "react-scripts test --env=jest-environment-jsdom-sixteen",
具体原因看上面的链接,还是版本问题...
最后完整的:
"dependencies": {
//...
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.0.4",
"jest-environment-jsdom-sixteen": "^1.0.3",
//...
}
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jest-environment-jsdom-sixteen",
"eject": "react-scripts eject"
},