测试 React 元素的 children 是否没有越过 parent 轮廓
Test if children of react element are not crossing the parent outline
有没有办法测试 React 元素的 sub-components/children 没有越过 parent 轮廓?
例如:
在上图中,测试应该失败,因为 child 穿过 parent
的 outline
Code Sandbox 与组件
注:
将元素 .getBoundingClientRect()
return 0
用于所有属性(top
、bottom
、left
、right
等...)
您可以使用 intersectionObserver,它会在子项进入父项的视口时触发一个事件。实际上有一个反应包装器 react-intersection-observer
这不是您可以通过 CLI/test 运行ner 进行单元测试的东西,组件必须呈现为“实时”视图,而不是任何虚拟 DOM ,就像许多单元测试 运行 人使用的 jsdom 一样。请注意,即使是开玩笑的快照也只比较 DOM 结构而不是计算视图。
这也不会被视为单元测试,因为您现在正在测试两个组件(单元)如何相互作用(集成)。
有没有办法测试 React 元素的 sub-components/children 没有越过 parent 轮廓?
例如:
在上图中,测试应该失败,因为 child 穿过 parent
的outline
Code Sandbox 与组件
注:
将元素 .getBoundingClientRect()
return 0
用于所有属性(top
、bottom
、left
、right
等...)
您可以使用 intersectionObserver,它会在子项进入父项的视口时触发一个事件。实际上有一个反应包装器 react-intersection-observer
这不是您可以通过 CLI/test 运行ner 进行单元测试的东西,组件必须呈现为“实时”视图,而不是任何虚拟 DOM ,就像许多单元测试 运行 人使用的 jsdom 一样。请注意,即使是开玩笑的快照也只比较 DOM 结构而不是计算视图。
这也不会被视为单元测试,因为您现在正在测试两个组件(单元)如何相互作用(集成)。