docs(testing): интеграционная проверка не живёт постоянной целью
- Зачем:
- проверка, которая кормит стенд данными, оставляет их в мире менти
навсегда: у ODS срока хранения нет, и события, которых мир не рождал,
неотличимы в лабах от настоящих. Решение принято при разборе постановок
#41 и #43, чтобы оно решалось по карте, а не заново в каждом тикете.
- Что:
- добавлен раздел «Интеграционная проверка постоянной целью не становится»:
такой прогон делается один раз при исполнении, след — запись в теле PR.
- названо требование прибираться за собой и дешёвый способ это сделать:
модельный день за границей оси мира и снос его партиции.
- названо, что стережёт цепочку постоянно вместо неё — проверки на
настоящих данных, которые стенд произвёл сам.
- Проверка:
- make config-test
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -96,6 +96,31 @@ ClickHouse отвечает сразу.
|
||||
посмотрите, покраснеет ли прогон и назовёт ли виновника. Не покраснел —
|
||||
проверка не работает, и чинить надо её, а не стенд.
|
||||
|
||||
## Интеграционная проверка постоянной целью не становится
|
||||
|
||||
Проверка, которая не спрашивает стенд, а **кормит** его — шлёт сообщения,
|
||||
вставляет строки, портит данные нарочно, — постоянной целью `make` не живёт.
|
||||
Такую проверку гоняют один раз при исполнении, убеждаются, что механизм
|
||||
работает, и оставляют след записью в теле PR. Регулярная жизнь стенда — это
|
||||
жизнь с менти, а интеграционный прогон в неё не входит; самое большее, он
|
||||
становится темой урока.
|
||||
|
||||
Довод не про цену прогона, а про данные. Вложенное остаётся: у сырья срок
|
||||
жизни трое суток, а ODS хранит всё, и события, которых мир не рождал, лягут в
|
||||
лабы менти неотличимо от настоящих — считая конверсию, он молча посчитает и
|
||||
их. Хуже явного мусора: явный видно.
|
||||
|
||||
Отсюда правило для того, что всё-таки вкладывает: **прибираться за собой.**
|
||||
Дешевле всего это выходит партицией — опыт играет модельный день за границей
|
||||
оси мира, его строки ложатся в собственную партицию `EventDate`, и она
|
||||
сносится по окончании. Заодно менти видит партицию как единицу работы — тот
|
||||
же механизм, на котором стоит переобработка дня X.
|
||||
|
||||
Что тогда стережёт цепочку постоянно — проверки на **настоящих** данных, тех,
|
||||
что стенд произвёл сам: счётчики против манифеста зернового мира ловят
|
||||
сломанный разбор (события уехали в брак — счёт разошёлся), ничего при этом не
|
||||
вкладывая.
|
||||
|
||||
## Устройство скриптов
|
||||
|
||||
| Цель | Скрипт |
|
||||
|
||||
Reference in New Issue
Block a user