Чи слід писати одиничні тести для складних регулярних виразів у своїй програмі?
- З одного боку: їх легко перевірити, оскільки формат введення та виведення часто простий і чітко визначений, і вони часто можуть набути такого складного рівня, тому тести на них конкретно цінні.
- З іншого боку: вони самі рідко є частиною інтерфейсу якогось блоку. Можливо, краще лише протестувати інтерфейс і робити це таким чином, що неявно тестує регулярні вирази.
Редагувати:
Я погоджуюся з Доком Браун, який у своєму коментарі зазначає, що це особливий випадок одиничного тестування внутрішніх компонентів .
Але як внутрішні компоненти регулярні вирази мають кілька особливих характеристик:
- Регекс для одного рядка може бути справді складним, не будучи справді окремим модулем.
- Regexes відображає карту для виведення без будь-яких побічних ефектів, а отже, їх справді легко перевірити окремо.