Проверяйте видимый текст, границы выделения, несколько совпадений, пустой запрос и безопасное отображение специальных символов. Тест должен отражать контракт, а не внутренние функции компонента.
Что должен проверять тест компонента Highlight
Проверяйте видимый текст, границы выделения, несколько совпадений, пустой запрос и безопасное отображение специальных символов. Тест должен отражать контракт, а не внутренние функции компонента.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Highlight получает text и query, выделяет все буквальные совпадения query и не должен исполнять HTML из входного текста. Какие проверки действительно полезны?
Ответ
Проверяйте видимый текст, границы выделения, несколько совпадений, пустой запрос и безопасное отображение специальных символов. Тест должен отражать контракт, а не внутренние функции компонента.
Например, для banana и an ожидаются два выделения без потери букв. Отдельно проверьте запрос .: он должен искать точку, а не любой символ регулярного выражения. Строка <img src=x> должна остаться текстом. Заранее оговорите регистр и перекрывающиеся совпадения; без этого тест может закрепить случайное поведение вместо требования.