如何在Tox/Py.test中显示完整的Python Traceback

6

我正在使用tox和py.test运行Python的单元测试,即使我使用了py.test的--tb=long选项,错误信息也会出现类似于:

E   ConftestImportFailure: (local('/myproject/tests/functional_tests/conftest.py'), (<type 'exceptions.ImportError'>, ImportError('No module named blah',), <traceback object at 0x7fb5bb740518>))

Tox正在运行以下命令:

py.test -rxs -rf -rs --ff --tb=long -x -k testname

如何显示完整的回溯信息?除了使用--tb选项,我在文档中找不到其他相关内容。


2
看起来错误是在conftest内发生的,当你试图导入无法导入的模块。尝试使用 py.test -vvs --pdb -k testname 命令,它会将您带到pdb提示符来进行调试。(我知道这适用于测试,但不能保证百分之百适用于conftest)。 - sashk
2个回答

8

对于pytest,您可以使用py.test --tb=native来切换到完整/本机Python追溯。

请参阅有关追溯的pytest文档


0
通过在命令调用中放置{posargs}[],您可以运行tox -- --full-trace ConftestImportFailure往往也会指向另一个错误,但它们的报告更糟糕

我遇到了一个问题:tox: error: unrecognized arguments: --fulltrace - dim_user
确实,在迭代中添加了一个破折号。 - user78110

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接