pytest를 사용하여 코드의 시스템 테스트를 위해 테스트 장치를 작성했습니다. 이 테스트는 연속 통합 시스템에서 사용되므로 junit xml 출력 옵션을 사용하고 있습니다. pytest가 긴 문자열을 자르면 문제가 발생합니다. -vv 옵션을 사용하는 것을 막을 수는 있지만 각 테스트의 결과를 자세히 읽지 않아도된다는 것을 알고 있습니다. 본질적으로 나는 junit xml 파일에서 긴 문자열의 잘라내기를 방지하는 다른 방법을 원한다. 콘솔 출력에서도 작동한다면 더 좋을 수도 있지만 꼭 필요한 것은 아닙니다.pytest에서 긴 문자열 자르기 방지
우리 코드는 많은 수의 값을 가진 보고서를 생성하고 출력을 올바른 것으로 알려진 출력 집합과 비교합니다. 첫 번째 오류뿐만 아니라 오류가있는 모든 필드를보고합니다. 그래서 문자열 당 하나의 오류가있는 문자열 목록을 생성하고 있습니다. 그런 다음 문자열을 개행 문자와 결합하여 하나의 긴 문자열과 모든 오류가 포함 된 긴 문자열을 만듭니다. 어설 션이 실패하면 수백 줄이 될 수있는 문자열의 전체 내용을 볼 필요가 있습니다.
errors = []
error.extend(get_report_errors())
s = '\n'.join(errors)
assert (s == '')
어떤 제안
내가 파이썬 2.6 및 2.7 pytest 2.3.5을 사용하고 있습니다. 필요한 pytest의 버전을 업그레이드 할 수 있습니다.