Testuję komponent React z płytkim renderowaniem Jasmine Enzyme.
Uproszczony tutaj do celów tego pytania ...
function MyOuterComponent() {
return (
<div>
...
<MyInnerComponent title="Hello" />
...
<MyInnerComponent title="Good-bye" />
...
</div>
)
}
MyOuterComponent
ma 2 wystąpienia MyInnerComponent
i chciałbym przetestować rekwizyty na każdym z nich.
Pierwsza, którą umiem przetestować. Używam find
z first
...
expect(component.find('MyInnerComponent').first()).toHaveProp('title', 'Hello');
Jednak staram się przetestować drugie wystąpienie MyInnerComponent
.
Miałem nadzieję, że coś takiego zadziała ...
expect(component.find('MyInnerComponent').second()).toHaveProp('title', 'Good-bye');
a nawet to ...
expect(component.find('MyInnerComponent')[1]).toHaveProp('title', 'Good-bye');
Ale oczywiście żadne z powyższych nie działa.
Czuję, że brakuje mi tego, co oczywiste.
Ale kiedy przeglądam dokumenty , nie widzę analogicznego przykładu.
Ktoś?
at()
działało zfindAll()
, prawdopodobnie związane z wersją projektu.Jeśli chcesz przetestować pewne rzeczy na każdym z nich, rozważ także iterację przez dopasowany zestaw:
źródło
źródło