2010-09-16 192 views
4

我從我的代碼導入的第三方模塊的nosetest得到的棄用警告。nosetest棄用警告

有人知道如何沉默這些警告嗎?

我知道下面的標誌,該標誌適用於相同的代碼的任意Python運行的:

python -W ignore::DeprecationWarning 

但是,調用nosetest不會出現我提供一個類似的標誌,以防止在測試中出現的警告報告。

+0

可能重複的[如何忽略Python中的棄用警告](http://stackoverflow.com/questions/879173/how-to-ignore-deprecation-warnings-in-python) – Gilles 2012-05-14 08:20:32

回答

3

import warnings 
warnings.filterwarnings('ignore', category=DeprecationWarning) 

在你的測試腳本的開始,你導入任何問題庫之前。

+0

@landstatic:對不起,不清楚。我的意思是上面的代碼應該放在「test.py」 - 你寫的腳本中。 – unutbu 2010-09-16 16:15:10

+0

,似乎沒有幫助不幸。我的test.py導入implementation.py :-)依次導入thirdparty.py,這是導致我的棄用警告的悲哀......我的test.py fixtures踢了python subprocesses,它也因爲依賴相同的方法而產生警告第三方庫,但我通過添加-W ignore :: DeprecationWarning來解決這些問題,因此只會將nosetest自己的Python進程歸咎於控制檯上出現的警告。除非我錯過了一些東西。 – codeasone 2010-09-16 17:01:05

+1

@landstatic:您是否在所有其他導入之前放置了'warnings.filterwarnings'命令? – unutbu 2010-09-16 17:37:59