Jasmine Enzymeの浅いレンダリングでReactコンポーネントをテストしています。
この質問のためにここでは簡略化しています...
function MyOuterComponent() {
return (
<div>
...
<MyInnerComponent title="Hello" />
...
<MyInnerComponent title="Good-bye" />
...
</div>
)
}
MyOuterComponent
の2つのインスタンスがMyInnerComponent
あり、それぞれで小道具をテストしたいと思います。
最初にテストする方法を知っています。で使用find
していfirst
ます...
expect(component.find('MyInnerComponent').first()).toHaveProp('title', 'Hello');
ただし、の2番目のインスタンスをテストするのに苦労していますMyInnerComponent
。
このようなものがうまくいくことを願っていました...
expect(component.find('MyInnerComponent').second()).toHaveProp('title', 'Good-bye');
またはこれ...
expect(component.find('MyInnerComponent')[1]).toHaveProp('title', 'Good-bye');
しかし、もちろん上記のどちらも機能しません。
私は明らかなことを逃しているように感じます。
しかし、ドキュメントを調べても、類似した例はありません。
誰でも?
at()
を使用して働いていたfindAll()
、おそらくプロジェクトのバージョンに関連し、。