Функция для проверки идентичности двух таблиц в Behave

Всем доброго времени суток!

Я тут “наговнокодил” на коленке функцию для сравнения двух таблиц в #behave, возможно это еще кому-то пригодиться :smile:

Пример “выхлопа” #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.: Буду рад конструктивной критике и разумным предложениям :slight_smile:

2 лайка