【问题标题】:Enzyme shallow render is rendering children components酶浅渲染正在渲染子组件
【发布时间】:2016-11-21 16:48:03
【问题描述】:

我正在尝试对组件进行浅层渲染以执行一些基本的单元测试。

我正在执行此操作的组件有两个子组件,每个子组件根据父道具渲染多次。

当查询浅渲染组件时,子元素也被完全渲染,这意味着子元素的 HTML 元素也可以访问。

我正在使用 Karma、Browserify、Jasmine 和 Enzyme,并且可以根据需要发布每个配置。有没有人见过类似的行为?

【问题讨论】:

  • 这是预期的,它将渲染组件中的任何内容。
  • @zackify 抱歉,我将编辑 OP,我的意思是它似乎正在完全渲染子组件,也就是子 HTML。我的理解是浅层渲染应该只深入一层。

标签: javascript reactjs testing npm enzyme


【解决方案1】:

这是正确的行为。与酶的其他渲染方法不同的是,它不调用任何生命周期方法并且它不会转换为真正的html,但它会渲染它的所有孩子和孩子的孩子等等。

【讨论】:

  • 是否存在完全不呈现子组件的选项?我遇到了奇怪的依赖问题,希望不必单独模拟所有子组件。
猜你喜欢
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 2018-09-25
  • 2016-08-31
  • 2020-08-26
  • 2016-10-29
  • 2018-03-14
  • 2017-10-20
相关资源
最近更新 更多