मेरे पास Parent
घटक है जो Child
घटक प्रस्तुत करता है। Child
घटक पहले 'नाम' जैसे अद्वितीय प्रोप प्रस्तुत करता है और फिर अभिभावक घटक 'प्रो' जैसे सामान्य प्रोप प्रस्तुत करता है और React.Children.map
का उपयोग करके Child
घटक में प्रोप इंजेक्ट करता है।एंजाइम का उपयोग करते हुए मोचा में रिएक्ट घटक के पूर्ण प्रस्तुत करने के लिए कैसे प्रतीक्षा करें?
मेरी समस्या यह है कि एंजाइम 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")
आम रंगमंच की सामग्री इंजेक्शन लगाने के लिए कोड:
const Parent = (props) => (
<div
className="group"
title={props.title}
>
{ React.Children.map(props.children, child => applyCommonProps(props, child)) }
</div>
)