我正在测试一个没有任何ID的组件,以便能够从Jest中进行选择,我的已装载组件快照将如下所示
<div id='divHeader'>
<h2
className=""
style={Object {}}
>
<span
className=""
style={Object {}}
>
This is an English text
</span>
</h2>
</div>
那么,有没有什么方法可以验证快照中span内的文本是否包含world English
,类似于
widget = mount(<MyComponent {...defaultProp} />);
// widget.find('span').text.contains('English')
// widget.find('[id="divHeader"]').h2.span.text.contains('English')
我在这里的find
中遇到了一些麻烦,我知道它可以通过id找到元素,但不幸的是我不能为我的span分配任何id,即使我可以通过id找到div,我也不能选择它的子元素,如div-〉h2-〉span...
3条答案
按热度按时间2cmtqfgy1#
find返回一个类似mount的
ReactWrapper
,因此可以链接find调用。比如说,像这样的东西。
6tdlim6h2#
我们可以使用Jest和Enzyme进行测试:
或者,您可以直接通过选择器查找该特定HTML元素并对其进行测试。
8iwquhpp3#
在这个例子中,我们使用了一个简单的方法来调用这个函数。在这个例子中,我们使用了一个简单的方法来实现这个功能。