簡體   English   中英

如何在Nosetests的單元測試期間分析代碼?

[英]How to profile code during unit test with Nosetests?

我已經看過--with-timer--with-profile來描述我的測試,但是這些選項給出的信息太少或太多。

例如,如果我進行以下測試:

def test_foo():
    do_something()
    do_something_else()

我只想分析測試中每個函數調用或每一行所花費的時間。 因此輸出將類似於:

   do_something() : .5 seconds
   do_something_else() : .5 seconds
   test_foo() : 1 seconds

受此演講的啟發,您可以使用Xunit插件並對其XML進行后處理

使用--with-xunit和以下代碼來處理鼻子測試.xml

from xml.etree.cElementTree import parse 
from operator import itemgetter 

elems = parse(open("nosetests.xml")).getiterator("testcase") 
tests = sorted(((e.get("name"), int(e.get("time"))) for e in elems), 
               key=itemgetter(1), reverse=1) 

for test in (test for test in tests if test[1]): 
    print "%s: %s sec" % test 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM