【发布时间】:2018-06-12 06:00:35
【问题描述】:
我有一个名为 Page 的 React 组件,其中包含 2 个组件 a 和 b,如下所示 -
<div>
<div id="component-a"></div>
<div id="component-b"></div>
</div>
在我的单元测试中,我想确认组件的顺序,即“component-a”是否在“component-b”之前。
通过shallow wrapper docs,我觉得我必须遍历所有孩子,直到找到组件-a。如果我在此之前找到了 component-b,则为 false,否则为 true。
有没有更好的方法来实现上述目标?如果我能有一个方法给我一个给定元素的子位置,那就太好了。
现在我只检查“组件-a”的存在,这还不够(如下所示)。
const wrapper = mount(<Page {...props} />);
expect(wrapper.find('.component-a')).toHaveLength(1);
【问题讨论】:
-
它适用于纯 css 吗? find(".component-a + .component-b")
-
不是一个完美的解决方案,但也许你可以做一个快照测试?这可以确保您和您的队友不会意外更改此组件的顺序。
标签: javascript reactjs jestjs enzyme