Jas*_*ers 5 testing jestjs react-testing-library
在测试库中,我试图找到一种方法来查找其子级与条件匹配的元素:让我们在测试中呈现的容器中考虑这一点:
<div class="classA">
<div class="classB">
<div class="classC">
some text
</div>
</div>
<div class="classB">
<div class="classC">
more text
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想找到
<div class="classB">
<div class="classC">
some text
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试过:
getByText(container, 'some text', {selector: 'classB'})但它返回了
<div class="classC">
some text
</div>
Run Code Online (Sandbox Code Playgroud)
我缺少什么来找到包含此文本的容器/组件/父级?
请参阅下面的代码,可能会有所帮助
queryAllByText((_, element) =>
element.textContent === "some text" && element.className === 'classB')
Run Code Online (Sandbox Code Playgroud)
小智 5
我知道已经晚了,但如果有人想在查询文本时获取父级:
expect(getByText('Name').parentElement?.style.left).toBe('50px');
Run Code Online (Sandbox Code Playgroud)