Я тестирую компонент React с мелким рендерингом Jasmine Enzyme.
Упрощено здесь для целей этого вопроса ...
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');
Однако я изо всех сил пытаюсь протестировать второй экземпляр MyInnerComponent
.
Я надеялся, что что-то подобное сработает ...
expect(component.find('MyInnerComponent').second()).toHaveProp('title', 'Good-bye');
или даже это ...
expect(component.find('MyInnerComponent')[1]).toHaveProp('title', 'Good-bye');
Но, конечно, ни одно из вышеперечисленных не работает.
Я чувствую, что упускаю очевидное.
Но когда я просматриваю документы, я не вижу аналогичного примера.
Кто угодно?
at()
работал сfindAll()
, вероятно, связан с версией проекта.Если вы хотите протестировать определенные вещи на каждом из них, также рассмотрите возможность итерации по согласованному набору:
источник
источник