我想單元測試幾個主要執行文件輸入和輸出的類的功能。此外,我想在多個內核上做到這一點(--jobs = 4)。多個線程中的Python單元測試
問題是,由這些類創建的文件通常具有相同的名稱,並且它們會混合在多個線程中。我現在要做的就是,我像下面這樣運行的每個單元測試在一個單獨的目錄:
def test(self):
if os.path.exists("UniqueDir"):
os.system("rm -rf UniqueDir")
os.mkdir("UniqueDir")
os.chdir("UniqueDir")
#Do the actual testing
os.chdir("..")
os.rmdir("UniqueDir")
的缺點是很明顯的:
- 每個測試必須獲得一個唯一的目錄名
- 每測試有這種開銷的源頭,真的不愉快看看
我可以使用什麼方法1.將我的測試彼此分開,但是2.在更多ele甘特方式?
任何幫助,建議等感激!
Cherio Woltan
你知道Python中的線程沒有利用多核處理器,對吧?爲此,您需要多處理(接口與Threading的方便類似) – nmichaels 2011-03-25 14:41:54
嗯,當我設置「--jobs = 4」時,我不確切知道單元測試框架的功能。但它與多線程相似。至少每個測試運行在不同的內核上,這可能被稱爲多核處理......?總之,這不是問題;) – Woltan 2011-03-25 14:54:08
您可以使用測試運行程序(如「nose」,「py.test」)並行運行測試,而無需修改它們。 – jfs 2011-03-25 16:53:03