So erhalte ich ein Array von DropDown.Item-Elementen, die in meiner react-Komponente zurückgegeben werden.Wie kann ich ein Kartenergebnis einer reaktiven Renderfunktion testen?
render() {
const { data } = this.props
if (data) {
return data.map((item, index) => {
return <Dropdown.Item
text={item.title}
key={index}
/>
})
}
return null
}
Jetzt versuche ich, für das zurückgegebene Ergebnis zu testen, aber mein Test nicht mit recieved.length: 0
. Ich denke, das Problem ist eine Karte zurückgeben ... Wie muss ich dafür testen?
it('should render dropdown items',() => {
wrapper = shallow(<Component data={data} />)
expect(wrapper.find(Dropdown.Item)).toHaveLength(2)
})
Meine Daten wie folgt aussieht:
[ { _id: '1', title: 'Item 1' }, { _id: '2', title: 'Item 2' } ]
aktualisieren
Dies ist für mich arbeiten:
expect(wrapper.at(0).find(Dropdown.Item)).toHaveLength(2)
Aber warum habe ichverwenden?
Wie Ihre 'Daten'-Variable im Test definiert ist. – zerkms
@zerkms Aktualisiert den Beitrag ... – user3142695