Я использую Pycharm для запуска моих pytest модульных тестов.Я тестирую REST API, поэтому мне часто приходится проверять блоки JSON.Когда тест не пройден, я увижу что-то вроде этого:
FAILED
test_document_api.py:0 (test_create_documents)
{'items': [{'i...ages': 1, ...} != {'items': [{'...ages': 1, ...}
Expected :{'items': [{'...ages': 1, ...}
Actual :{'items': [{'i...ages': 1, ...}
<Click to see difference>
Когда я нажимаю ссылку «Нажмите, чтобы увидеть разницу», большая часть разницы преобразуется в точки эллипса, например
Это бесполезно, так как не показывает мне, что отличается.Я получаю это поведение для любой разницы, превышающей одну строку или число.
Я предполагаю, что Pycharm и / или pytest пытаются исключить неинформативные части различий для больших выходных данных.Тем не менее, он слишком агрессивен и исключает все.
Как мне получить Pycharm и / или pytest, чтобы показать мне всю разницу?
Я пытался добавить -vvv
в Pytest's AdditionalАргументы, но это не имеет никакого эффекта.
Начиная с исходного поста, я убедился, что вижу то же поведение при запуске модульных тестов из командной строки.Так что это проблема с Pytest, а не с Pycharm.
После просмотра ответов, которые я получил до сих пор, я думаю, что я действительно спрашиваю "в Pytest можно ли установить maxDiff=None
без измененияисходный код ваших тестов?Когда я читал про pytest, у меня сложилось впечатление, что переключатель -vv
управляет этим параметром, но это не так.