Регрессионные тесты для тулзы в отдельном exe - как организовать?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 22.05.21 19:18
Оценка:
Здравствуйте!

Есть тулза — генератор кода. На входе получает файл и опции для генерации в командной строке, на выходе — выдаёт файл.

Надо в ней поковыряться, но так, чтобы ничего не сломалось. Вариант — зашить входной и выходной файл в в виде массива char'ов в код и как-то запилить все тесты в одном сорцовом модуле — не прокатит — входной файл может подключать другие файлы, а делать затычку, эмулирующую файловую систему на массивах char'ов, и впиливать прослойку абстракции в уже существующий код желания нет.

Исходные данные для вызова утилиты — имя входного файла, имя выходного файла, и опции командной строки.

Есть эталонный генератор — зафиксированная последняя перед переделками рабочая версия. Нужно нужно для каждого входного кортежа вызвать эталонную версию, экспериментальную текущую версию, и сравнить выхлоп.

При сравнении выхлопа пустые строки, или строки только с пробелами — игнорировать (можно наверное перед сравнением прогонять тупо через фильтр, который их удалит). Оставшееся — сравнить.

Опять же — сравнивать по разному, в зависимости от настроек — либо игнорить изменения в пробелах, либо точно сравнивать.

Полного дифа не нужно, достаточно генерить ошибку на первом несоответствии.

Ну, и в комлексе — либо прогнать все тесты, даже если некоторые не прошли, и потом отрапортовать, сколько сфейлилось, либо остановится на первом же фейле.

Чем бы таким всё это организовать?
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.