描述bug
在设置了 pnpm
并选择了 auto-install-peers=true
选项后,App.test.tsx
出现了错误。
Property 'toBeInTheDocument' does not exist on type 'JestMatchers<HTMLElement>'.ts(2339)
你是否尝试恢复依赖项?
我知道你官方支持使用 npm 或 yarn 进行 cra。但是在安装了一个包 @types/testing-library__jest-dom
之后,它似乎运行良好。我希望如果这个问题容易解决的话,你能为 pnpm 用户考虑一下。
在用户指南中搜索了哪些术语?
环境
Windows 10,pnpm 7.5
重现步骤
(请写下你的步骤:)
- 运行命令
pnpm create react-app [project-name] --template typescript
- 删除 package-lock.json 和 node_modules。
- 运行命令
pnpm install
- 运行命令
pnpm start
预期行为
无错误地运行应用程序。
实际行为
App.test.tsx
出现了错误。
9条答案
按热度按时间f0ofjuux1#
这个解决方案对我有效:testing-library/jest-dom#442 (评论)
9rbhqvlz2#
使用CRA TS与yarn 4.0.0-rc.22(在Linux的WSL2中使用PnP)会导致相同的问题,最初提到的添加额外类型包的解决方法有效。
更新@testing-library/jest-dom、typescript或@types/jest没有帮助(但也没有破坏事物)。此外,我不需要编辑setupTests.ts。
mbjcgjjk3#
这个应该是解决方案:pnpm/pnpm#4920 (评论)
qnzebej04#
我遇到了同样的问题:)
这个应该是解决方案:pnpm/pnpm#4920 (评论)
这个对我有用 🚀
disbfnqx5#
关于
public-hoist-pattern
,以下是pnpm
文档中的说明:"当处理某些存在缺陷的可插拔工具时,此设置非常有用,因为它们不能正确解决依赖关系。"
https://pnpm.io/npmrc#public-hoist-pattern
4xy9mtcn6#
也许只需将
@types/testing-library__jest-dom
作为开发依赖项进行安装就可以解决这个问题?(如@hsk-kr在开头的帖子中建议)这似乎是一个足够简单的解决方案,我可以确认它有效:
应该构建它。
h7wcgrx37#
也许只需将
@types/testing-library__jest-dom
作为开发依赖项进行安装,就可以解决这个问题,正如在开头的帖子中提到的那样?这似乎是一个足够简单的解决方案,我可以确认它有效:对我有效!谢谢
ax6ht2ek8#
For me it was that the version of @testing-library/jest-dom was set to 5 (ish) and once I tried installing the types (@types/testing-library__jest-dom) they were version 6, which had removed all type definitions.
Took a while to find it so posting it here in case anyone else needs it.
zujrkrfu9#
以上所有提示都无法帮助我,除了@MaximilianSchon的建议,也许可以检查你的jest版本。
将
@testing-library/jest-dom
从5更新到^6.2.0
终于解决了我的问题。