Ошибка сравнения длинных строк в тесте 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")