我使用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的版本。
pytest
传递--showlocals
选项,然后手动检查上面分配的s
本地变量的值来解决此问题。 - Cecil Curry