我有一個Python程序,它導入pythoncom(並使用pythoncom.CoCreateInstance從它)。我想爲程序邏輯創建一個單元測試,而不需要導入pythoncom(所以我也可以在Linux上運行測試)。單元測試在Python中:忽略從我想測試的代碼導入
有什麼選擇?我可以在不修改被測系統的情況下做到嗎?
我發現迄今:
sys.modules["pythoncom"] = "test"
import module_that_imports_pythoncom
我與它的問題是,如果我有:
from pythoncom.something import something
我會得到:
ImportError: No module named something.something
而且sys.modules["something.something"]
或sys.modules["pythoncom.something.something"]
沒有按沒有工作。
任何想法?
我說我不想修改被測系統,如果找不到pythoncom就不應該工作。我想要的是在我的測試中忽略或模擬pythoncom導入,所以我可以嘲笑它的一些功能。 – vaidab 2010-06-16 08:47:20