如何使用Enzyme等待Mocha中的React组件的完整渲染?

cmw*_*all 9 javascript mocha.js chai reactjs enzyme

我有一个Parent呈现Child组件的组件.该Child组件首先呈现独特的道具等"名称",然后将父组件呈现共同道具如"类型"和注入那些道具到Child使用分量React.Children.map.

我的问题是Enzyme无法检测到Section组件渲染的常见道具,因此我无法有效地测试是否添加了常见的道具.

考试:

      const wrapper = shallow(
        <Parent title="Test Parent">
          <div>
            <Child
              name="FirstChild"
            />
          </div>
        </Parent>
      )
//      console.log(wrapper.find(Child).node.props) <- returns only "name" in the object
      expect(wrapper.find(Child)).to.have.prop("commonPropOne")
      expect(wrapper.find(Child)).to.have.prop("commonPropTwo")
      expect(wrapper.find(Child)).to.have.prop("commonPropThree")
Run Code Online (Sandbox Code Playgroud)

注入常​​见道具的代码:

const Parent = (props) => (
  <div
    className="group"
    title={props.title}
  >
    { React.Children.map(props.children, child => applyCommonProps(props, child)) }
  </div>
)
Run Code Online (Sandbox Code Playgroud)

Dev*_*nis 5

您将不得不使用酶的mount。

mount当您需要等待组件渲染子级而不是像shallow.