Ich teste eine React-Komponente mit flachem Jasmine Enzyme-Rendering.
Hier für die Zwecke dieser Frage vereinfacht ...
function MyOuterComponent() {
return (
<div>
...
<MyInnerComponent title="Hello" />
...
<MyInnerComponent title="Good-bye" />
...
</div>
)
}
MyOuterComponent
hat 2 Instanzen von MyInnerComponent
und ich möchte die Requisiten auf jeder testen.
Der erste, den ich testen kann. Ich benutze find
mit first
...
expect(component.find('MyInnerComponent').first()).toHaveProp('title', 'Hello');
Ich habe jedoch Probleme, die zweite Instanz von zu testen MyInnerComponent
.
Ich hatte gehofft, dass so etwas funktionieren würde ...
expect(component.find('MyInnerComponent').second()).toHaveProp('title', 'Good-bye');
oder sogar das ...
expect(component.find('MyInnerComponent')[1]).toHaveProp('title', 'Good-bye');
Aber natürlich funktioniert keine der oben genannten Arbeiten.
Ich habe das Gefühl, das Offensichtliche zu vermissen.
Aber wenn ich mir die Dokumente ansehe, sehe ich kein analoges Beispiel.
Jemand?
at()
funktioniertfindAll()
, wahrscheinlich im Zusammenhang mit der Version des Projekts.Wenn Sie bestimmte Dinge an jedem einzelnen testen möchten, sollten Sie auch die übereinstimmende Menge durchlaufen:
quelle
quelle