Golden-файлы: сравнение с эталоном и его обновление
Golden-файл — эталонный вывод, сохранённый рядом с тестом; тест сравнивает результат с ним и падает при расхождении. Приём оправдан там, где ожидаемое значение большое и его неудобно записывать в коде: сгенерированный HTML или SQL, отформатированный отчёт, сериализованный ответ API, вывод команды. Идиома включает флаг обновления: тест объявляет -update, при котором вместо сравнения перезаписывает эталон, — так обновление становится одной командой, а не ручной правкой. Эталоны хранят в каталоге testdata, который тулчейн игнорирует при сборке. Главная опасность приёма — бездумное обновление: go test -update после каждой поломки превращает тест в фиксатор текущего поведения, включая ошибочное. Поэтому изменение эталона должно попадать в ревью как обычный diff и объясняться в описании изменения. Второе требование — детерминированность вывода: даты, идентификаторы и порядок обхода карт нужно нормализовать.