我有一个Parent
组件,可以呈现Child
组件。 Child
组件首先呈现独特的道具,例如' name'然后父组件呈现常见的道具,例如' type'并使用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")
&#13;
注入常见道具的代码:
const Parent = (props) => (
<div
className="group"
title={props.title}
>
{ React.Children.map(props.children, child => applyCommonProps(props, child)) }
</div>
)
&#13;