2011-11-23 60 views
0

我有一些時間敏感的單元測試:一個動作是定時的,如果它需要很長時間纔會觸發錯誤。當單獨運行時,這些測試會通過,但是當我的模塊遞歸運行nosetest時,它們通常會失敗。我運行併發測試,這可能是計時關閉的一個原因。有什麼方法可以表明我希望這個測試不中斷地運行嗎?Python鼻子測試中的計時問題

回答

1

我認爲你的問題取決於你如何實現時機。我個人會採用的解決方案是設置一個控制測試行爲的環境變量。候選人可以是:

  • if WITH_TIMING == False [關閉定時完全]
  • TIME_STRETCH_FACTOR = ... [應用時間伸縮在並行測試的情況下,乘數運行,這樣,例如爲5的時間限制將變得7.5如果TIME_STRETCH_FACTOR將1.5]

如果這不是一個選項,可能醜陋解決方法是嘲笑time.time()功能,使得它返回一個恆定值的,如果你使用time.time()這隻會工作在你的測試當然直接] ...

HTH