Всем доброго времени суток!
Я тут “наговнокодил” на коленке функцию для сравнения двух таблиц в #behave, возможно это еще кому-то пригодиться
Пример “выхлопа” #behave (кликабельно):
По умолчанию таблица рисуется в ASCII виде для логирования и поддержки отображения в отчете PyCharm. Чтобы получить красивую табличку в консоли, нужно передать #behave аргумент ttest_out=console
через ключ -D
. Для выводимых таблиц можно указать заголовок и имя через аргументы функции. Функция не проверяет сортировку таблиц, по этому таблицы нужно подавать на вход в уже отсортированном виде и с одинаковым количеством столбцов. Таблицы должны быть в формате list of lists, где каждый список внутри списка это строка таблицы. Так же есть возможность сравнивать текущее время в таблицах, например таймстемп создания записи в БД. Для этого необходимо выставить аргумент datetime=True
, в таблицу которая будет считаться эталонной вставить время в таком формате: $dt=<timestamp>
, например: $dt=2016-12-28 12:18:43.675448
и указать максимальную дельта, при значении выше которой, проверка будет считаться неуспешной. По умолчанию дельта - это 60 секунд разницы.
P.S.: Проверялась функция только на Python 3, но по идее должно взлететь и на Python 2.7 (возможно с небольшими правками). Так же, думаю не составит большого труда допилить это все для использования вместе c #pytest
P.P.S.: Буду рад конструктивной критике и разумным предложениям