用于返回模拟数据帧的 Unittest python 方法



我有一个名为Pippo的Python方法,在执行过程中它会调用其他方法,这些方法返回要处理的数据帧。

我想使用自定义数据帧模拟每个方法返回,但我无法理解如何自动修补它们。

例:

module1.py
  import module2
  import module3
      def Pippo():
      returnPluto = module2.Pluto() <---- Wanna mock this Dataframe
      ....
      ....
      ....
      returnPaperino = module3.Paperino() <---- Wanna mock this Dataframe

 Pluto()

Pippo方法的流程中,我调用Pluto和另一个模块的Paperino方法。

当我测试 Pippo 时,如何在我的 testClass 中指示要调用的方法就是具有模拟数据帧的方法?

我将Python 2.7与Cassandra一起使用。

对于测试,我使用单元测试。

问题是你在函数中实例化类,这使得模拟变得更加困难,因为当你模拟构造函数时,你会失去对所创建对象的跟踪。所以你必须模拟构造函数并弄清楚如何将return_value设置为另一个模拟。一种更简单的方法是使用依赖注入。

def Pippo(pluto=None, paperino=None):
  pluto = pluto or Pluto()
  paperino = paperino or Paperino()

现在在测试中,您可以注入模拟。此更改不会破坏代码,因为注入的参数仅用于测试。

相关内容

  • 没有找到相关文章

最新更新