Как написать покрытие тестового примера в Jest и Enzyme для indexOf, используемого внутри React Component - PullRequest
0 голосов
/ 28 июня 2018

Я пишу контрольный пример для моего реактивного компонента в Jest и Enzyme. У меня есть компонент, где я использовал метод indexOf. Теперь, когда я запускаю Jest, он показывает, что тест обнаружен для этой конкретной строки.

enter image description here

Отчет о покрытии:

enter image description here

1 Ответ

0 голосов
/ 28 июня 2018

Вы можете создать функцию, которая возвращает результат arrError.indexOf (..), но !!!! Это не очень хорошая практика.

Прежде всего, вы не должны тестировать методы и функции, которые взяты из других фреймворков и библиотек, и которые вы не пишете сами. Если вы хотите что-то протестировать, вы должны протестировать каждый метод жизненного цикла React, каждый отдельный метод Math, Array и т. Д.

Во-вторых, ключ, это не просто индекс, и использование indexOf не обязательно.

Первый подход, не самый лучший, вы можете сделать напрямую:

{arrError.map((error, index) => (<div key = {index}>{error}</div>))}

Второй подход, вам не нужно использовать только индекс для ключа (читайте это ):

{arrError.map((error, index) => (<div key = {error.id}>{error.value}</div>))}

Каждый объект в массиве должен иметь уникальное свойство для использования в качестве ключа (вы даже можете использовать строку. Если ошибка является строкой и она уникальна в массиве, вы можете просто использовать ошибку в качестве ключа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...