我正在尝试为一个应用程序编写一些单元测试,我使用python mock。我对其他嘲弄库很熟悉,直到现在也没遇到过什么麻烦。我试图模拟对父类的init块中的属性集的链式调用。以下是我需要的示例:class ApplicationUnderTest:

def __init__(self):

self.attributeBeginningChain = SomeClass(False)

def methodWithChain(self):

object = self.attributeBeginningChain.methodOfSomeClass()

我需要链式调用来抛出错误。我试图通过以下方式解决这个问题:

^{pr2}$

最后一个断言失败了,所以我很确定这不是这样做的方法。我也尝试过:@patch('ApplicationUnderTest.attributeBeginningChain')

def test_chained_call(self, mock_someclass):

mock_someclass.methodOfSomeClass.side_effect = ErrorClass

A = ApplicationUnderTest.methodWithChain()

self.assertTrue(mock_someclass.called)

这就产生了一个错误:AttributeError: package.ApplicationUnderTest does not have the attribute 'attributeBeginningChain'

我不能对测试中的代码进行更改,所以我的问题是如何模拟对

_初始化函数?我已经读到这是不可能的,但肯定有一个解决办法?我是否可以通过autospec命令模拟fixture响应调用本身而不是属性对象?在

python中init外面的属性_Python mock属性在\uyu init中定义和设置__相关推荐

  1. python中get和set使用_Python对象属性的set和get方法

    属性的set和get方法 如果有一个对象,当需要对其进行修改属性时,有2种方法: 1.对象名.属性名 = 数据 -->直接修改 2.对象名.方法名() -->间接修改 为了更好的保存属性安 ...

  2. python里面的类和对象_Python中类和对象在内存中是如何保存?

    类以及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份,大致如下图: 如上图所示,根据类创建对象时,对象中除了封装 name 和 age 的值之外,还会保存一个类对象指针,该值 ...

  3. python对象的三个属性_Python 对象属性的访问

    在 Python 中,一切皆对象.属性访问可以理解为是从一个已有的对象中获得另一个对象的方法.对象属性的访问涉及到对象的 __dict__ 属性.描述符等概念,以及 __getattribute__. ...

  4. python的实例属性_python 实例属性和类属性

    如何在一个类中定义一些常量,每个对象都可以方便访问这些常量而不用重新构造? 第一个问题,在 Python 的类里,你只需要和函数并列地声明并赋值,就可以实现这一点, 例如这段代码中的 WELCOME_ ...

  5. python面向对象属性_Python面向对象属性

    也是好久没有更新过了,今天主要想写的就是关于面向的对象的属性的问题. 属性的解释来看,能够简单的理解为方法但是是用字段的方式来调用方法.除此之外,另外一种是不加装饰器,利用python提供方式来写,根 ...

  6. python类属性和实例属性_Python 类属性与实例属性,类对象与实例对象用法分析...

    本文实例讲述了Python 类属性与实例属性,类对象与实例对象用法.分享给大家供大家参考,具体如下: demo.py(类属性,所有实例对象共用类属性): # 定义工具类 继承object是为了兼容py ...

  7. 定义一个属性_Python property属性

    1. 什么是property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 # ############### 定义 ###############class Foo: def ...

  8. python查看文档的软件_Python __doc__属性:查看文档

    前面介绍了使用 help() 函数来查看程序单元的帮助信息.比如导入 string 模块之后,即可使用 help() 函数来查看指定程序单元的帮助信息. 例如,在交互式解释器中输入如下命令来查看 st ...

  9. python类的属性和对象属性_python 类属性、对象属性-阿里云开发者社区

    类的普通属性: dir(Myclass), 返回一个key列表: Myclass.__dir__,返回一个字典: 1.类的数据属性: 2.类的方法: 类的特殊属性: 1.Myclass.__name_ ...

最新文章

  1. ML 神经网络 NeuralNetworks
  2. 构建dubbo分布式平台-maven构建ant-framework框架的pom.xml文件配置
  3. jpush推送格式 swift_Swift中配置极光推送
  4. 面试官: 用css实现android系统的loading动画
  5. ovirt官方安装文档 第三章
  6. 页面闲置一段时间后,跳转
  7. 神经网络的基本工作原理
  8. python类库31[使用minidom读写xml]
  9. Redis GEO 特性在 LBS 中的应用总结
  10. PROXY SERVER 代理服务器
  11. FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay
  12. 《统计学》第八版贾俊平第一章课后习题及答案总结
  13. c语言i2c读到8位数据,AT24C08 I2C的读写操作实验
  14. mysql 登录 无密码_重置mysql的密码/无密码登录mysql
  15. 爬虫小案例——爬取豆瓣电影《寄生虫》的短评
  16. Graph U-Nets小结
  17. MySQL中:一条update语句是怎样执行的
  18. 线性相关线性无关与正交
  19. Spring面试专题
  20. 解决页面报错 500-内部服务器错误

热门文章

  1. 《机器学习》读书笔记,第二章概念学习和一般到特殊序
  2. php 查询数据表第2条,PHP 连接 MySQL 数据库的连接函数 mysql_connect 的第二个参数是( )。...
  3. 学习《图说设计模式》建造者模式
  4. 高仿 IOS遨游哈哈最新版
  5. java刘备猜拳游戏类_基于java实现人机猜拳游戏
  6. 【Unity2D游戏】实现实时的正确的遮挡关系(引擎自带功能)
  7. 大学生python期末解答题_大学mooc2020年用Python玩转数据期末考试大全答案
  8. 计算机程序默认打开方式怎么选,电脑不能选择打开方式怎么办|打开方式无法选择的解决方法...
  9. ibm服务器修改uefi和legacy,uefi和legacy的区别详细分析(附带uefi改legacy教程)
  10. PowerDesigner设计MySQL表结构转SQLServer问题