Ошибка сравнения длинных строк в тесте Python

Я тестирую скрипт Python, который выбрасывает кучу байтов (в виде строки) в результате своего выполнения.

Во-первых, я получаю результат с:

myOutput = subprocess.check_output(["python","../src/myScript.py"])

С этим я выполняю скрипт и получаю вывод.

Затем я сравниваю этот результат с действительно долгожданным результатом:

expOutput = "382d006e756c6c2c7465737453657450726f706572747953823c75652c6c75614170702c63617074696f6e2c486f6c61206d756e646f203200"
self.assertEqual(myOutput, expOutput, "Script output is not the expected") 

(Это просто глупый тест, я пытаюсь заставить вещи работать).

Проблема: мой тест НЕУДАЧ. Отладка я основал значения равны.

Может кто-нибудь мне помочь?

Спасибо!

1 ответ

Решение

Может быть случайным eol в конце вывода из вызываемого скрипта. Попробуй это:

myOutput = myOutput.strip()
self.assertEqual(myOutput, expOutput, "Script output is not the expected")
Другие вопросы по тегам