6

当你在nose中运行测试时,我想在命令行上显示测试本身的文件名和行号,特别是当它失败时,这样我就可以跳转到emacs中的行。我在 case.py 中插入了一些代码来打印名称,我看到我可以制作一个处理 prepareTestCase 的插件,但我的问题是有没有一个插件可以做到这一点?

这是我的代码:nose/case.py:

import inspect

...

def runTest(self, result):

 ...

 if not isinstance(test,Failure):
    print("  File \"%s\", line %s\n" % (
        inspect.getsourcefile(test.test),
        inspect.getsourcelines(test.test)[1]))
4

1 回答 1

7

nosetest只需使用-v选项运行即可获取测试的文件名和测试名称。此外,失败的测试将在错误时转储完整的堆栈跟踪(具有行号)。您还可以使用--pdb--pdb-failure选项在错误或测试失败后立即进入 pdb 调试器。

Nose-progressive插件在格式化测试输出方面有很多花里胡哨,包括更改模板以满足任何编辑器。此外,请查看这个nosemacs - emacs 扩展,以提供简单的 nosetest 集成。如果你只想要行号,nose-machineout是你的朋友。

于 2013-09-28T04:41:12.717 回答