我在单元测试中进行模拟时遇到问题。
#!/usr/bin/env python
import sys
sys.modules["foo.Bar"] = __import__("mock_bar")
import foo.Bar
print foo.Bar.__name__
我在第4行有一个ImportError
异常。我不知道为什么因为我在第3行做了一些模拟。有一个如何模拟导入here的参考。
这是错误消息:
Traceback (most recent call last):
File "test.py", line 4, in <module>
import foo.Bar
ImportError: No module named foo.Bar
“import foo.Bar”应该等于“__import __('foo.Bar')”,在此之前我已经攻击了sys.modules以假装模块'foo.Bar'已经被导入了。为什么python仍然试图导入foo.Bar并抱怨?
答案 0 :(得分:0)
在import foo
行之前尝试__import__
:我认为这可能会有所帮助。