Codesandbox.io 中的 React-Testing-Library 问题

Posted

技术标签:

【中文标题】Codesandbox.io 中的 React-Testing-Library 问题【英文标题】:Issue with React-Testing-Library in codesandbox.io 【发布时间】:2019-08-18 14:32:10 【问题描述】:

我是 React 的相对菜鸟。想在这个沙箱basic react sandbox 中练习一些 tdd。似乎测试代码正在影响应用程序组件状态 如果您在浏览器和测试之间切换,您会看到测试项目被添加到列表中 - 即使我在测试中运行渲染和清理。

不确定我做错了什么?

【问题讨论】:

【参考方案1】:

Codesandbox 在运行测试时遇到了一些问题。那是因为它们在浏览器中运行,而不是在单独的 jsdom 环境中。我建议你改为在你的机器上运行测试。

【讨论】:

谢谢,顺便说一句,使用 Enzyme 时 CodeSandbox 工作正常这里是另一个沙箱 codesandbox.io/s/6nwj46qwn3 我认为这是因为 Enzyme 模拟了渲染的组件,而 RTL 试图进行真正的渲染 对,浅层 vs 渲染 - 另一件事可能是我一直在使用的 RTL getByTestId,因为 data-testId 属性存在于应用程序输出中,它首先匹配真实的。有趣的是 RTL 的创建者有一个 youtube 视频,他遇到了同样的问题youtube.com/watch?v=kCR3JAR7CHE

以上是关于Codesandbox.io 中的 React-Testing-Library 问题的主要内容,如果未能解决你的问题,请参考以下文章

https://codesandbox.io 如何实现对本地版本的依赖

CodeSandbox.io <img> 标签未加载图像

有没有办法在 codesandbox.io 中使用 npm 脚本?

删除 codesandbox.io 沙箱

javascript https://codesandbox.io/s/8nq4w3jj39このデモ読み解いたもの

如何将一个dojo(TypeScript)项目从codesandbox克隆到我的服务器?