Должен ли я написать модульные тесты для сложных регулярных выражений в моем приложении?
- С одной стороны: их легко тестировать, потому что формат ввода и вывода часто прост и четко определен, и они могут часто становиться настолько сложными, что их тесты особенно полезны.
- С другой стороны: они сами редко являются частью интерфейса какого-либо устройства. Может быть, лучше всего протестировать интерфейс и сделать это таким образом, чтобы неявно проверять регулярные выражения.
РЕДАКТИРОВАТЬ:
Я согласен с Доком Брауном, который в своем комментарии отмечает, что это особый случай модульного тестирования внутренних компонентов .
Но в качестве внутренних компонентов регулярные выражения имеют несколько особых характеристик:
- Одиночное регулярное выражение может быть действительно сложным, не будучи отдельным модулем.
- Регулярные выражения отображают входные данные без каких-либо побочных эффектов и, следовательно, действительно легко проверить отдельно.