[containsMatchingElement在react组件包含函数时返回false

问题描述 投票:0回答:1

我有一个子组件,其中包含一个方法作为道具。此子组件将呈现“广播组”。当我根据单选按钮的值单击这些单选按钮时,将渲染另一个组件。我有两个问题。1.我无法调用子组件props方法2.即使调试显示组件可用,containsMatchingElement()也会返回false。

常量父=浅();Expect(parent.filter(SelectSeverityLevel).findWhere(x => type。x.prop(“ setSeverityLevel”)===“ function”)); ->通过Expect(parent.containsMatchingElement())。toBe(true); ->失败

我在这里想念什么?

reactjs typescript jest
1个回答
0
投票

浅层渲染并非为此目的,引用docs

浅呈现有助于将自己约束为一个单元来测试组件,并确保测试不会间接断言子组件的行为。

您应该改用mount(...)测试儿童与父母的行为。同样,一个好的经验法则是始终使用mount而不是shallow来测试组件,因为后者使您可以在不失败测试的情况下中断应用程序。维护应用程序必须是长期目标。阅读有关此here的更多信息>

© www.soinside.com 2019 - 2024. All rights reserved.