我有一个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