Здравствуйте, kaa.python, Вы писали:
M>>Ну, то есть опять самому писать
KP>Ты хочешь получить классические регрессионные тесты. Я бы потратил 1-2 дня и сделал по-уму, нежели потом страдал. Но с другой стороны, я на таких решения много шишек набил и может быть тебе этот подход будет не столько просто и прямолинеен как мне
Ну, на работе с меня уже ржут: я с коллегой решил обсудить этот вопрос, он мне тоже diff посоветовал заюзать. Я его спрашиваю — а diff блоки пустых строк умеет игнорировать? Коллега такой: "хм, не знаю. Вроде нет. Можешь свой diff написать

". Просто я довольно часто, по сравнению с другими, пишу подобные штуки сам, вместо попыток использовать какие-то готовые средства. Обычно получается лучше, чем у других, и потом мои решения начинают все использовать, с другой стороны, именно моего времени тратится больше, и собсно продакшена я часто вроде как меньше выдаю. С другой стороны, и народ и начальство пользу в этом видят, но постоянно меня подкалывают
Ну и пишу на C++, кстати. Во-первых — продакшн у нас на плюсах, и что-то наработанное в таких утилитках бывает что допиливается, и потом используется в других местах, и в продакшене тоже 2) На плюсах, тем более на современных, на самом деле писать не сильно больше, чем на каком-то питоне. Само собой, в тех случаях, когда нет варианта просто подтянуть какой-то готовый питоновский модуль.
M>>Я думал, может есть что-то готовое для такого случая, имхо задача конечно не слишком частая, но всё же довольно типовая.
KP>Все случаи уникальные. Можно банально diff подключить, как vsb выше советует, но уровень гибкости будет оставлять желать лучшего.
Да, вот это и смущает. Что наворочу на diff'е колхозу, потом оно ещё жирком обрастёт, а потом всё равно гибкости не хватит и захочется переписать заново, но уже много времени будет инвестировано попытки сделать на стандартных инструментах, и переписывать не захочется
M>>А PyTest — для чего тут он, он чем-то облегчит жизнь?
KP>Тем что ты не будешь сваливать всё в одну кучу, и сделаешь несколько разных тестов. Я так понял, есть разные флаги, разные входные данные. Регрессия может вылезти на любой из этих комбинаций и, обычно, проще заранее определить проблемные группы нежели потом гадать в какой из групп лезет ошибка и выискивать закономерности.
Хм. А что значит — сваливать в одну кучу? Если самому писать, я бы типа инишки написал, где описывались бы входные кортежы, и по ним бы проходил. Никакой кучи и без какого-либо PyTest'а