您的单元测试代码(可能在它的setUp方法中,如果这是跨多个测试方法所需要的,因此可以作为fixture来使用)应该:def fake_command(cls, host, cmd, sh=None):

pass # whatever you want in here

self.save_remote_command = somemodule.RemoteCommand.remote_command

somemodule.RemoteCommand.remote_command = classmethod(fake_command)

然后撤销这个monkey补丁(例如,如果补丁是在setUp中完成的,则在tearDown方法中)通过

^{pr2}$

考试后不一定要把东西放回去,但这是很好的一般做法。在

更优雅的方法是通过依赖注入(DI)模式设计代码的可测试性:def __init__(self, ...):

...

self.remote_command = RemoteCommand.remote_command

...

def set_remote_command_function(self, thefunction):

self.remote_command = thefunction

def get_interface_params_by_mac(self, host, mac_unified):

lines = self.remote_command(host, cls.IFCONFIG)

DI以极低的成本为您带来了很大的灵活性(测试性方面,但在许多其他环境中也是如此),这使得它成为我最喜欢的设计模式之一(我宁愿尽可能避免monkey-patching)。当然,如果您将测试中的代码设计为使用DI,那么您在测试中需要做的就是通过调用实例的set_remote_command_function来适当地准备该实例,无论您想使用什么伪函数!在

python 存根_如何用Python编写类方法的存根相关推荐

  1. excel和python建模_如何用Python提高办公(Excel)效率?

    1 T: G2 ^3 U. x0 ?. W* A: `如何用Python提高办公(Excel)效率? ; m+ Z; f& U4 H' I这几天在家里利用网络视频教程学习了一下简单的Pytho ...

  2. python月亮_如何用python代码画一个月亮

    如何用python代码画一个月亮 发布时间:2020-06-17 15:52:21 来源:亿速云 阅读:181 作者:元一 Python简介 Python是一种跨平台的计算机程序设计语言. 是一个高层 ...

  3. python剪刀石头布_如何用python写剪刀石头布

    如何用python写剪刀石头布 发布时间:2020-07-20 11:52:16 来源:亿速云 阅读:111 本篇文章给大家分享的是有关如何用python写剪刀石头布,小编觉得挺实用的,因此分享给大家 ...

  4. python租房_如何用Python爬租房网站信息

    展开全部 首先你需要了解如何用python进行爬虫,然后需要了解正则或者找寻条件的方法,给你62616964757a686964616fe4b893e5b19e31333337383839举个例子: ...

  5. 词云python灿烈_如何用Python做中文词云?

    打算绘制中文词云图?那你得先学会如何做中文文本分词.跟着我们的教程,一步步用Python来动手实践吧. 需求 在<如何用Python做词云>一文中,我们介绍了英文文本的词云制作方法.大家玩 ...

  6. python怎么用交互式界面_交互式python教程_如何用python做交互式界面

    什么叫做交互式python解释器 个例子来说明交互式解释  (看看 Onion - 老杨 解释的内容如下) 例: 创建文件 zoo.py.在该文件义函数 hours(),输出字符串'Open 9-5 ...

  7. 关于点名的简单python编程_如何用python编写一个简易的随机点名软件

    匿名用户 1级 2018-05-30 回答 思路:1.定义一个字典,把名字和数字对应起来:2.引用随机模块:3.输入要点名的个数,通过循环输出名字. 具体代码如下: # -*- coding:utf- ...

  8. 简单几段python代码_如何用python跑一段鸿蒙最简单代码?

    首先,鸿蒙并不支持python,HarmonyOS代码开发支持多语言,包括Java.XML(Extensible Markup Language).C/C++ . JS(JavaScript).CSS ...

  9. python阴阳师_如何用Python找到阴阳师妖怪屋的最佳探索队伍!强不强?

    程序由来 最初想要写这个小程序是因为,9月份那段时间我在玩妖怪屋. 因为刚开始抽卡,要啥啥没有,所以探索队伍也只是放了几个自己记得有关联的式神. 在网上有找到完整版的羁绊,但是怎么根据羁绊找到最佳的式 ...

  10. 深入浅出python机器学习_如何用python画三维图? add_subplot() Axes3D() plot_surface() gca()

    # 第一种创建3D图形的方法:创建子图# 用创建子图的方法画出来感觉要比下面的方法小一点??from matplotlib import pyplot as plt #用来绘制图形import num ...

最新文章

  1. 前Duolingo秦龙博士归国创业:情定K12个性化学习
  2. NSArray创建和使用
  3. 网页设计中常用的19个Web安全字体
  4. ad network
  5. 三国志战略版360区S4服务器合并信息,三国志战略版pk赛季怎么转区?s4转区规则[多图]...
  6. 记一次Java AES 加解密 对应C# AES加解密 的一波三折
  7. 文件夹没有安全选项-文件上传下载-路径访问被拒绝
  8. 【数据库系统】过程化和非过程化语言的相对优点
  9. java 的 provider_Java Provider.Service getProvider()用法及代码示例
  10. oracle PL/SQL(procedure language/SQL)程序设计(在PL/SQL中使用SQL)
  11. 如何测试一个数组是否包含指定的值
  12. think in uml 2.1
  13. 双硬盘双win10互不干扰_双硬盘新装window10系统
  14. c++矩阵转置_线性代数(Gelbert)对称矩阵
  15. 中兴捧月算法-切绳子
  16. App发送短信验证码实现
  17. Galaxian 小蜜蜂
  18. 数星星 Stars 题解
  19. DOM4J解析XML文档
  20. 百度地图搜索提示层级覆盖问题

热门文章

  1. 1+X计算机视觉考证一些知识点
  2. C++:构造函数中调用虚函数
  3. 关于计算机科学的publication(zz南大小百合)
  4. python爬虫实践——自动登录抽屉新热榜
  5. 上海宝付谈谈故宫瘫痪,程序员怎么办
  6. webpack打包处理字体文件
  7. 苹果mac笔记本部分按键失灵,为什么要5连按⌥ option键
  8. 机器学习之信用卡诈骗案例总结
  9. 1.Python基础
  10. 成都Uber优步司机奖励政策(3月10日)