【问题标题】:Mocking an import and some simple attributes模拟导入和一些简单的属性
【发布时间】:2019-11-19 23:51:05
【问题描述】:

我有一个导入到我的代码中的包,我想模拟它,因为我是在该包不可用的环境中开发它。我的印象是我应该可以使用mock 轻松做到这一点,但之前没有使用过它。在我的调用脚本中,我放在顶部

import sys
sys.modules['packageneeded'] = mock.MagicMock()

这修复了我在导入包 packageneeded 时出现的下游错误。但是,我还需要能够访问下游的一些属性,例如packageneeded.__version__。如何在我的调用脚本(或单独的文件,如果需要)中定义这些属性。

【问题讨论】:

标签: python mocking


【解决方案1】:

您可以通过将MagicMock 对象作为关键字参数传递给构造函数来初始化具有附加属性的对象:

sys.modules['packageneeded'] = mock.MagicMock(__version__='1.2.3')

【讨论】:

  • 效果很好,谢谢。我认为这很简单。
猜你喜欢
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多