如何在python nose中打印出测试的文件名和行号?

use*_*177 6 python testing nose nosetests

当您在鼻子中运行测试时,我想在命令行上显示测试本身的文件名和行号,特别是当它失败时,我可以跳转到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]))
Run Code Online (Sandbox Code Playgroud)

Ole*_*siy 7

你可以通过运行得到了检验和测试名称的文件名nosetest-v选项.此外,失败的测试将在错误(具有行号)上转储完整的堆栈跟踪.您还可以使用--pdb--pdb-failure选项在错误或测试失败后立即进入pdb调试器.

Nose-progressive插件在格式化测试输出方面有许多花哨的功能,包括更改模板以满足任何编辑器.另外,看看这个nosemacs - emacs扩展,以提供简单的鼻子集成.如果你只想要行号,那么nose-machineout就是你的朋友.