Saya menguji komponen React dengan rendering dangkal Jasmine Enzyme.
Disederhanakan di sini untuk tujuan pertanyaan ini ...
function MyOuterComponent() {
return (
<div>
...
<MyInnerComponent title="Hello" />
...
<MyInnerComponent title="Good-bye" />
...
</div>
)
}
MyOuterComponent
memiliki 2 contoh MyInnerComponent
dan saya ingin menguji props pada masing-masing.
Yang pertama saya tahu cara mengujinya. Saya gunakan find
dengan first
...
expect(component.find('MyInnerComponent').first()).toHaveProp('title', 'Hello');
Namun, saya kesulitan untuk menguji contoh kedua dari MyInnerComponent
.
Saya berharap sesuatu seperti ini akan berhasil ...
expect(component.find('MyInnerComponent').second()).toHaveProp('title', 'Good-bye');
atau bahkan ini ...
expect(component.find('MyInnerComponent')[1]).toHaveProp('title', 'Good-bye');
Tapi tentu saja tidak satu pun dari yang di atas berhasil.
Saya merasa seperti saya kehilangan yang sudah jelas.
Tetapi ketika saya melihat-lihat dokumen, saya tidak melihat contoh analog.
Siapa saja?
at()
bekerja dengan menggunakanfindAll()
, mungkin terkait dengan versi proyek.Jika Anda akan menguji hal-hal tertentu pada masing-masing juga pertimbangkan untuk mengulang melalui set yang cocok:
sumber
sumber