加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – 在测试React组件时,Jest AutoMocking是否有效?

发布时间:2020-12-15 20:44:32 所属栏目:百科 来源:网络整理
导读:我的有限数量的测试似乎表明答案是否定的.我正在为一个父级React组件(也就是一个控制器视图)编写一个单元测试,它依赖于一个商店.但是,Jest没有为商店提供自动模拟,因为文档建议它应该,而是调用真正的实现. 这是一个bug还是设计?如果是后者,单元测试反应组件
我的有限数量的测试似乎表明答案是否定的.我正在为一个父级React组件(也就是一个控制器视图)编写一个单元测试,它依赖于一个商店.但是,Jest没有为商店提供自动模拟,因为文档建议它应该,而是调用真正的实现.

这是一个bug还是设计?如果是后者,单元测试反应组件是不可取的?

编辑1

在测试CommonJs模块时,自动锁定工作正常;它只是不适用于反应组件.

听起来你的测试是集成测试而不是单元测试. Jest嘲笑一切,因为它主要用于单元测试.
我与您分享了帮助我简化和加快单元测试的模式.

提取辅助方法

提取执行逻辑的方法,例如.映射,过滤等到不同文件中的Utils模块.然后测试Utils模块而不是React组件.这样可以降低测试的复杂性.

这同样适用于商店…尝试运行Utils模块中的所有逻辑.使用自己的方法离开商店仅适用于吸气剂和制定者.

不要忘记unMock keyMirror和Dispatcher

使用KeyMirror管理常量时,很容易忘记unMock这个模块.商店通常会为ActionTypes使用大量常量.

Dispatcher依赖项和EventEmitter也是如此.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读