为什么React在测试时需要jsdom?

7
当编写React组件测试时,您必须将它们呈现到DOM中,以便对它们的正确性进行断言。例如,如果您想要测试给定某个状态时是否向节点添加了某个类,则必须将其呈现到DOM节点中,然后通过正常的DOM API检查该DOM节点。
问题在于,考虑到React维护了一个虚拟DOM并将其呈现到其中,为什么我们不能在组件呈现后直接对虚拟DOM进行断言呢?这对我来说似乎是使用虚拟DOM的非常好的理由。
我错过了什么吗?

1
你能否添加一个你认为不正确的测试示例? - Henrik Andersson
1个回答

6

您没有真正错过任何东西。我们正在努力改进,虚拟部分一直是 React 的实现细节,没有以任何有用或可靠的方式进行测试。我们在测试帮助器中有一些方法,可以包装内部查找,有时可以避免查看实际 DOM,但我们需要更多的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接