如何模拟.patch另一个模块中导入的类

安吉特:

我有一个带有此类模块的python类:

xy.py

from a.b import ClassA

class ClassB:
  def method_1():
    a = ClassA()
    a.method2()

然后我将ClassA定义为:

b.py

from c import ClassC

class ClassA:
  def method2():
      c = ClassC()
      c.method3()

现在在这段代码中,当我为xy.py编写测试时,我想对嘲笑ClassC进行模仿,有没有办法在python中实现呢?

显然我尝试过:

mock.patch('a.b.ClassA.ClassC)

mock.patch('a.b.c.ClassC')

这些都不起作用。

Simeon Visser:

你需要修补的ClassC所在,这样的ClassCb

mock.patch('b.ClassC')

或者,换句话说,ClassC将其导入到模块b中,这就是ClassC需要修补的范围

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Databricks Repos 的另一个文件中导入模块?

我应该如何在模块中导入另一个python文件

如何从另一个目录/包中导入类

如何导入和使用从自身中的另一个文件导入类的python模块?

如何从Android Studio中的另一个模块导入类?

如何从Android Studio 2.0 beta 5中的另一个模块导入类?

我如何从另一个模块Maven导入类

如何在d.ts文件中导入类型(从另一个文件)而不将其转换为模块?

如何从另一个模块导入特征的实现

如何从另一个目录导入python类

如何从另一个类导入或访问UITextField

如何将在python文件中导入的库导入另一个python文件?

如何在另一个文件目录中的另一个脚本中导入 Python 文件?

如何使用Jasmine模拟另一个模块中所需的模块

如何从另一个支柱文件中导入数据?

Django:如何在另一个JavaScript文件中导入JavaScript

Django如何从另一个请求函数中导入值?

如何在另一个Angular应用程序中导入Angular Web组件

如何使用Stack在另一个项目中导入个人库?

Java:如何在另一个文件中导入变量?

如何在JS中的另一个函数中导入和使用函数

如何在 NestJS 的另一个 proto 文件中导入 proto 文件

如何将模块导入databricks笔记本中的另一个模块?

ES6如何将模块“导入”另一个模块

Angular2模块:如何从另一个模块导入服务

如何在gitlab的另一个存储库中导入一个存储库的.targets文件?

angular6如何在另一个库中导入一个库?

如何从另一个 py 文件导入一个类?

如何模拟玩笑功能从另一个文件默认导入