2013-09-27 22 views
5

當您在鼻子中運行測試時,我想在命令行上顯示測試本身的文件名和行號,特別是當它失敗時,我可以跳到emacs中的行。我在case.py中插入了一些代碼來打印出名字,我發現我可以製作一個處理prepareTestCase的插件,但是我的問題是有沒有插件可以做到這一點?如何在python鼻子中打印測試的文件名和行號?

這裏是我的代碼:鼻子/ 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])) 

回答

6

您只需通過-v選項運行nosetest得到測試和測試名稱的文件名。此外,失敗的測試會在錯誤(包含行號)時轉儲完整的堆棧跟蹤。錯誤或測試失敗後,您還可以使用--pdb--pdb-failure選項立即進入pdb調試器。

Nose-progressive插件在格式化測試輸出方面有很多花裏胡哨的功能,包括更改模板以滿足任何編輯器。另外,請查看這個nosemacs - emacs擴展,以提供輕鬆的nosetest集成。如果你只想要行號,nose-machineout是你的朋友。

+0

謝謝!我會檢查出來並投票。 – user2646177