1

我們遇到了一個真正的問題,那就是人們在檢查代碼時沒有工作,因爲某些東西被重構了。無可否認,這部分是因爲我們的開發人員沒有任何好的工具可以輕鬆找到這些錯誤。在Python中測試導入錯誤

是否有任何工具可以幫助在Python中查找ImportErrors?當然,這裏的正確答案是「你應該使用你的單元測試」。但是,我在遺留代碼的土地上(至少由Michael Feathers的定義),所以我們的單元測試是我們正在大量工作的東西。

與此同時,有一種工具可以遍歷每個目錄並導入其中的每個文件,只是爲了找到任何具有ImportErrors的腳本(比如說如果文件或類最近已被重命名)。我想這不會是可怕很難寫我自己,但有沒有已經寫入這樣做的任何程序?

回答

3

Pychecker是給你的。它導入模塊並會發現這些錯誤。

http://pychecker.sourceforge.net/

哦,「pylint的<MODULENAME>」將導入模塊,但我猜你會調用它一次你希望每一個模塊,其中pychecker至少支持*的.py。 (Pylint也支持* .py,但在這種情況下不會導入模塊)。

1

這樣的事情?

import os 
for x in os.listdir("some/path"): 
    execfile(x) 

這樣就夠了,還是需要更多?

請注意,任何缺少if __name__ == "__main__":的模塊顯然都會起飛並開始執行任務。

+0

還有更多,我想補充。但是,如果我決定寫自己的作品,我想這是一個很好的開始。 :-) – 2009-06-27 15:41:26