писать 500 тестов для MVP это эскапизм бро.
Иначе я бы ничего никогда не написал ) я сначала фигачил без тестов. 80% времени уходило на то, чтобы проверять изменения.
Или вот например кейс - перевозил парсер с синтаксиса pg10 на синтаксис pg13
казалось бы - ну появятся новые узлы в ast, ничего не сломается.
Щаааз! Там перефигачили часть узлов наглухо.
Или моё любимое - есть енум с типами объектов. OBJECT_TABLE, OBJECT_VIEW. У сишников это как делается? Через числовые константы - OBJECT_TABLE =1, OBJECT_VIEW = 2. и таких 40 штук.
Соответственно в ast это выглядит как type: 1
Добавили 2 типа объектов. Казалось бы - ну сделай ты 41 и 42. так нет, у них цифры добавились в середину. Знаете почему? Потому что имена констант упорядоченны по алфавиту!
Не, ну ок, они официально не предоставляют парсер третьим лицам, поэтому в замкнутой системе делаем что хотим.
Но бладж!