在为 React 组件编写测试时,您必须将它们渲染到 DOM 中,以便断言它们的正确性。例如,如果你想测试某个类是否被添加到给定某个状态的节点,你必须渲染到 DOM 节点,然后通过普通的 DOM API 检查该 DOM 节点。
问题是,考虑到 React 维护一个虚拟 DOM 来渲染它,为什么我们不能在组件渲染后就在虚拟 DOM 上断言?在我看来,这是拥有虚拟 DOM 之类的东西的一个很好的理由。
我错过了什么吗?
最佳答案
你真的没有错过任何东西。我们正在努力让它变得更好。虚拟部分一直是 React 的一个非常重要的实现细节,没有以任何有用或可靠的方式暴露出来进行测试。我们的测试助手中有一些方法可以包装内部查找,有时可以避免查看实际的 DOM,但我们需要更多。
关于javascript - 为什么 React 需要 jsdom 进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26251990/