SubMenu加入Transition后测试不通过
来源:7-9 拿来主义 - 自定义 Transition 组件编码第二部分

慕九州9245693
2022-02-11
SubMenu加入Transition后测试不通过, 我去提交记录上看到menu.text.tsx
里有这个提交:7-9 update Menu test file,add component mocks to fix the test fails
, 里面加了如下代码
jest.mock('react-transition-group', () => {
return {
CSSTransition: (props: any) => {
return props.children
}
}
})
加了这段代码测试就没报错了,但不太理解这段代码是什么意思,视频7-9完全没有提到过这个段代码
查了一下jest的文档也没太理解,好像是在说我们引入了react-transition-group这个库,但是我们之后的测试代码没有用到这个库,而且为什么要返回CSSTransition 呢,后面的测试也没用到啊?
拜托老师解释下这段代码的意思
写回答
1回答
-
同学你好 单元测试应该不管一些动画效果,如果你添加了动画效果,会影响单元测试的最终结果,所以我们要想个办法把 transition-group 直接模拟掉,这段代码其实就是模拟 react-transition-group 的实现,将它直接变成一个包裹成一个 div 就完事了.
这种方式在单元测试里面很常见,因为单元测试就是要做到隔离,尽量不受别的模块的影响。
文档中也有描述,请看:https://testing-library.com/docs/example-react-transition-group/
112022-02-16
相似问题