我已经使用 pytest 为我们的代码的系统测试编写了一个测试工具。这些测试在我们的持续集成系统中使用,所以我使用 junit xml 输出选项。pytest 截断长字符串给我带来了问题。我知道我可以使用 -vv 选项来阻止它,但是这会为每个难以阅读的测试结果提供详细的输出。本质上,我想要一种不同的方法来防止至少在 junit xml 文件中截断长字符串。如果它也适用于控制台输出,那会更好但不是必需的。
我们的代码生成具有大量值的报告,我将输出与一组已知正确的输出进行比较。我报告了所有错误的字段,而不仅仅是第一个错误。所以我正在生成一个字符串列表,每个字符串都有一个错误。然后我用换行符连接字符串以创建一个长字符串和包含所有错误的长字符串。如果断言失败,我需要查看可能有几百行的字符串的全部内容。
errors = []
error.extend(get_report_errors())
s = '\n'.join(errors)
assert (s == '')
有什么建议么
我正在使用 python 2.6 和 2.7 以及 pytest 2.3.5。我可以升级需要的pytest版本。