Как настроить diff окно в выводе тестового модуля Python? - PullRequest
0 голосов
/ 12 февраля 2019

Я тестирую свое приложение с помощью встроенной библиотеки unittest (python 3.5), и некоторые тестовые примеры сравнивают (списки) словари.Когда эти тесты не пройдены, вывод не очень полезен:

Первый отличающийся элемент 1:
{'emi [1557 chars] al': 509201.03, 'Остаток_время': Нет, 'номин [1213chars] alse}
{'emi [1557 chars] al': '509,201.03', 'Остаток_времени': нет, 'нет [1218 символов] alse}

Это достаточно легко увидетькакой элемент списка неправильный, но ограниченное окно сравнения различий в имени ключа отличающейся записи словаря.Я знаю, что могу показать полный diff с self.maxDiff = None, но это не то, что я хочу.Мне нравится ограниченное окно различий, мне просто не нравится, где оно находится.

Могу ли я как-то настроить размещение окна различий?В качестве альтернативы, как я могу получить информативный отчет об ошибках теста с тестами Python при сравнении словарей?

1 Ответ

0 голосов
/ 14 февраля 2019

Эта функция была добавлена ​​как часть выпуска # 18996 - и я понимаю, почему ... пытаться найти разницу в длинной последовательности символов определенно не весело.Кто-то еще жаловался на отсутствие контроля над сокращением в выпуске, и в результате был открыт вопрос # 21820 .

Код, который выполняет сокращение, здесь ,Возможно, вы сможете исправить это там, но я не рекомендую делать такие вещи.Кроме того, вы можете написать свой собственный метод или расширить класс TestCase, чтобы сравнить список словарей и получить полный контроль над результатами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...