为什么React需要jsdom进行测试?

时间:2014-10-08 08:05:53

标签: javascript unit-testing dom reactjs jestjs

在为React组件编写测试时,必须将它们渲染到DOM中,以便对其正确性进行断言。例如,如果要测试某个类被添加到给定某个状态的节点,则必须渲染到DOM节点,然后通过普通的DOM API检查该DOM节点。

问题是,考虑到React维护了一个呈现的虚拟DOM,为什么我们只能在呈现组件后在虚拟DOM上断言?在我看来,这是一个非常好的理由,可以使用像虚拟DOM这样的东西。

我错过了什么吗?

1 个答案:

答案 0 :(得分:6)

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