javascript - enzyme 浅渲染器返回空节点元素

标签 javascript reactjs jestjs enzyme

我对 Enzyme 浅层渲染器有疑问。我的 wrapper.root.node 即使对于简单的 div 元素也返回 null。

        const wrapper = shallow(
            <div>asd</div>
        );

这是ShallowWrapper 对象。节点元素为空,但未渲染的属性包含正常渲染的对象。这是为什么 ?

ShallowWrapper {
  "complexSelector": ComplexSelector {
    "buildPredicate": [Function],
    "childrenOfNode": [Function],
    "findWhereUnwrapped": [Function],
  },
  "length": 1,
  "node": null,
  "nodes": Array [
    null,
  ],
  "options": Object {},
  "renderer": ReactShallowRenderer {
    "_instance": null,
    "getRenderOutput": [Function],
    "render": [Function],
  },
  "root": [Circular],
  "unrendered": <div>
    asd
</div>,
}

最佳答案

好吧,jest 'react-dom'模拟引起的问题:

jest.mock('react-dom')

通过将单元测试移动到其他文件中解决了问题。

关于javascript - enzyme 浅渲染器返回空节点元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43281853/

相关文章:

javascript - Jest 收到 : serializes to the same string

javascript - 如何在 React 组件中获取 d3 以在 Jest 快照中呈现

javascript - 根据数组长度重复 ReactDOM.render

unit-testing - 使用 jest stub 函数

javascript - 一次 :true with addEventListener doesn't work on IE11 or Edge

javascript - 在 JavaScript 中求平方的最快方法是什么?

javascript - 在浏览器中更改渲染工具包

javascript - Internet Explorer 5 不支持悬停自动换行

javascript - 如何在加载某个特定变量后仅在 React 中触发一次 useEffect

css - ReactJS 不根据表达式设置类