如何检查 @patched-out python 方法是否被调用而不改变其行为?

2023-12-11

我一直在使用Pythonmock我的测试用例的模块。我经常用以下内容装饰我的测试用例@patch('my_method')装饰师。然后在测试用例的主体中,我设置了.return_value属性或.side_effect修补方法上的属性来模拟其行为。同样在测试用例中,我检查是否调用了修补方法.assert_called_once()。这很好用。没问题。例子:

from mock import patch

@patch('my_method')
def test_case_1(self, mock_my_method):
    mock_my_method.return_value = None
    # Do some testing here
    mock_my_method.assert_called_once()

现在我想做一些稍微不同的事情:我只想检查修补的方法是否被调用一次(通过使用.assert_called_once(). However,我不想改变方法的行为,也不想指定一个假的返回值。我怎样才能做到这一点?


如果你想使用patch只是为了它的调用记录功能,而不模拟原始函数的行为,然后将原始函数指定为side_effect模拟的:

@patch('my_function', side_effect=my_function)
...

The side_effect名称具有误导性。如果一个模拟有side_effect函数,调用模拟将调用side_effect并返回或提高任何side_effect回报或加薪。使用原始函数作为side_effect意味着我们得到了原始函数的行为。 (side_effect可以是除函数之外的其他一些东西,但我们在这里不需要该功能。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 @patched-out python 方法是否被调用而不改变其行为? 的相关文章

  • 如何使用 pyinstaller 包含文件?

    我也使用 tkinter 使用 python 3 7 编写了一个程序 由于我使用的是外部图片 因此当我将所有内容编译为一个 exe 时 我需要包含它们 我试过做 add data bg png files 但我仍然收到此错误 tkinter
  • 切片稀疏(scipy)矩阵

    我将不胜感激任何帮助 以理解从 scipy sparse 包中切片 lil matrix A 时的以下行为 实际上 我想根据行和列的任意索引列表提取子矩阵 当我使用这两行代码时 x1 A list 1 x2 x1 list 2 一切都很好
  • JavaScript 相当于 Python 的参数化 string.format() 函数

    这是 Python 示例 gt gt gt Coordinates latitude longitude format latitude 37 24N longitude 115 81W Coordinates 37 24N 115 81W
  • Python 2.7 将比特币私钥转换为 WIF 私钥

    作为一名编码新手 我刚刚完成了教程 教程是这样的 https www youtube com watch v tX XokHf nI https www youtube com watch v tX XokHf nI 我想用 1 个易于阅读
  • TF map_fn 或 while_loop 用于不同形状的张量列表

    我想处理不同形状的张量序列 列表 并输出另一个张量列表 考虑每个时间戳上具有不同隐藏状态大小的 RNN 就像是 输入 tf ones 1 2 2 tf ones 2 2 3 tf ones 3 2 1 输出 tf zeros 1 2 4 t
  • 使用 Django Rest 保存 Base64ImageField 类型会将其保存为原始图像。如何将其转换为普通图像

    我的模型中有 5 个图像字段 imageS imageS imageS imageS 和 imageE 我正在尝试按以下方式保存图像 图像的类型Base64ImageField images imageA imageB imageC ima
  • 了解 Python 中的酸洗

    我最近接到一项作业 需要以腌制形式放置一本字典 其中每个键引用一个列表 唯一的问题是我不知道腌制形式是什么 谁能给我指出一些好的资源的正确方向来帮助我学习这个概念 pickle 模块实现了一个基本但强大的算法 用于序列化和反序列化 Pyth
  • 查找模块中显式定义的函数 (python)

    好的 我知道您可以使用 dir 方法列出模块中的所有内容 但是有什么方法可以仅查看该模块中定义的函数吗 例如 假设我的模块如下所示 from datetime import date datetime def test return Thi
  • 如何仅在特定错误退出值(0 除外)上将 Jenkins 构建标记为成功?

    当我运行Execute shell构建步骤来执行脚本并且该脚本返回0 Jenkins将构建标记为SUCCESS 否则它将其标记为FAILURE这是预期的默认行为0表示没有错误 任何其他值表示有错误 有没有办法将构建标记为SUCCESS仅当返
  • python 中的 Johansen 协整检验

    我找不到任何有关在处理统计和时间序列分析 pandas 和 statsmodel 的 Python 模块中执行 Johansen 协整检验的功能的参考 有谁知道是否有一些代码可以执行时间序列之间的协整测试 现在 这已在 Python 的 s
  • 无需编译的 ES6 单元测试

    我无法找到任何 Mocha 或任何其他通过 Gulp 直接在 ES6 代码上运行的单元测试框架的示例 没有 Babel Webpack 等 我找到了一个在浏览器中使用 ES6 代码运行 Mocha 的示例 经过一些修改 但它不是自动化的 有
  • django-admin.py makemessages 不起作用

    我正在尝试翻译一个字符串 load i18n trans Well Hello there how are you to Hola amigo que tal 我的 settings py 文件有这样的内容 LOCALE PATHS os
  • Pandas style.bar 颜色基于条件?

    如何渲染其中一列的 Pandas dfstyle bar color属性是根据某些条件计算的 Example df style bar subset before after color ff781c vmin 0 0 vmax 1 0 而
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • Python 声音(“铃声”)

    我想让一个 python 程序在完成任务时通过发出嘟嘟声来提醒我 目前 我使用import os然后使用命令行语音程序说 进程完成 我更愿意它是一个简单的 铃 我知道有一个函数可以用于Cocoa apps NSBeep 但我认为这与此没有太
  • 在 virtualenvwrapper 中激活环境

    我安装了virtualenv and virtualenvwrapper用这个命令我创建了一个环境 mkvirtualenv cv 它有效 创建后我就处于新环境中 现在我重新启动了我的电脑 我想activate又是那个环境 但是怎么样 我使
  • Python 通过从现有 csv 文件中过滤选定的行来写入新的 csv 文件

    只是一个问题 我试图将 csv 文件中的选定行写入新的 csv 文件 但出现错误 我试图读取的 test csv 文件是这样的 两列 2013 9 1 2013 10 2 2013 11 3 2013 12 4 2014 1 5 2014
  • 如何循环遍历字典列表并打印特定键的值?

    我是 Python 新手 有一个问题 我知道这是一个非常简单的问题 运行Python 3 4 我有一个需要迭代并提取特定信息的列表 以下是列表 称为部分 的示例 已截断 数千个项目 state DEAD id phwl type name
  • 如何为所有用户安装 Anaconda python?

    Anaconda python 发行版 https store continuum io cshop anaconda 非常方便地部署科学计算环境 SCE 并根据需要切换python版本 默认情况下 安装会将 python 定位到 anac
  • 缓存 Flask-登录 user_loader

    我有这个 login manager user loader def load user id None return User query get id 在我引入 Flask Principal 之前它运行得很好 identity loa

随机推荐

  • 如何在没有java.util.Timer的情况下实现延迟的未来?

    我正在编写一个简单的函数来返回Future Unit 在给定的延迟后完成 def delayedFuture delay FiniteDuration Future Unit val promise Promise Unit val tim
  • 加载图像时毕加索提示内存不足

    我正在使用 Picasso 从我的服务器加载图像并将其显示在 ImageView 中 我观察到来自用户手机的一些崩溃报告 当 Picasso 尝试将图像加载到 ImageView 时 会发生内存不足异常 堆栈跟踪如下 java lang O
  • 如何调整 PHP 真实路径缓存?

    最近版本的 PHP 有一个文件名缓存 用于了解文件的真实路径 并且require once and include once 可以利用它 您可以在中设置一个值php ini设置缓存的大小 但我不知道如何知道大小应该是多少 默认值是 16k
  • 在输入文本字段中显示背景图像

    我有一个带有背景图像的简单 HTML 页面 现在我在此 HTML 页面上应用联系表单 我想在文本输入字段中显示背景图像 即我想让输入文本字段透明 我已经使用CSS代码background color transparent 但它不起作用 我
  • 来自 Kafka 主题的 PySpark 结构化流的 Cassandra 接收器

    我想使用 PySpark 结构化流 API 将结构流数据写入 Cassandra 我的数据流如下 REST API gt Kafka gt Spark 结构化流 PySpark gt Cassandra 来源和版本如下 火花版本 2 4 3
  • 如何使用 RxDB 处理 JWT 身份验证?

    我有一个本地 RxDB 数据库 我想将它与 CouchDB 连接 除了身份验证之外 一切似乎都工作正常 我不知道如何以不同的方式添加它 然后在数据库网址中插入凭据 database tasks sync remote http userna
  • PySpark 2.1:使用 UDF 导入模块会破坏 Hive 连接

    我目前正在使用 Spark 2 1 并且有一个主脚本 该脚本调用包含我所有转换方法的帮助程序模块 换句话说 main py helper py 在我的顶部helper py文件我有几个自定义 UDF 我按以下方式定义了它们 def refo
  • Android WebViewClient 属性中的“isForMainFrame”请求是什么意思?

    What is isForMainFrame意思是 android 21 请求是否针对主框架 例如 对于 iframe 将为 false 不清楚 因为对于下面的日志 它返回false用于主框架请求 是不是一样isMainFrame在 and
  • 两个 Java 日期之间的天数差异?

    我想获得两个 Java Date 对象之间的差异 我使用过 Joda Time 库 但问题是我得到的天数差异比实际的天数差异更大 这是我的代码片段 DateFormat formatter new SimpleDateFormat mm d
  • 如何从列表框列表项中获取值

    在我的火狐插件中我有一个
  • 将 AM/PM 时间转换为 24 小时格式?

    我需要将 12 小时格式时间 上午 下午 转换为 24 小时格式时间 例如01 00 PM 至 13 00 使用 C 我该如何转换它 如果您需要将字符串转换为日期时间 您可以尝试 DateTime dt DateTime Parse 01
  • 如何从 Swift 打开邮件应用程序

    我正在开发一个简单的快速应用程序 用户输入电子邮件地址并按下打开邮件应用程序的按钮 并在地址栏中输入输入的地址 我知道如何在 Objective C 中执行此操作 但在 Swift 中无法使其工作 您可以使用简单的 mailto iOS 中
  • 嵌入 Maven 3

    除了 m2eclipse 源之外 是否有关于该主题的任何类型的文档 谢谢 杰巴鲁克 据我所知 文档Maven 嵌入器仍有待创建 是的 Maven 3 0 xJason 创建的页面确实提到了旧文档的链接 但 Jason 后来在MNG 3658
  • 为什么我可以在“res.send”之后执行代码?

    我想知道以下代码行为背后的机制是什么 res send 200 data test data console log still here 我的理解是res send不return该功能 但确实关闭连接 结束请求 这可以解释为什么我仍然可以
  • 无权执行 sts:AssumeRoleWithWebIdentity AWS s3 Cognito 身份验证失败

    我有一个简单的 iOS 应用程序 可以上传到 s3 我正在尝试各种 unauth 尽管理想情况下我想做 Facebook 2 个 IAM 角色 使用向导创建 IAM 身份验证策略 对于 unauth 角色 Version 2012 10 1
  • jQuery 根据选择选项保持显示隐藏状态

    我根据下拉列表中选择的选项下拉选择并显示隐藏其他字段 在 div 内 此代码工作正常并根据选择显示隐藏 但当我加载页面时 所有字段都是可见的 其他事情是 例如 如果我想在选择选项 2 的情况下显示字段并将该选项保存到数据库 并且在重新加载页
  • Powershell .替换正则表达式

    用于替换的正则表达式让我大吃一惊 我正在尝试寻找 值 COM8 gt 在文本文件中并将 COM8 替换为另一个 com 端口 即 COM9 COM13 等 Get Content C Path File config Replace COM
  • 获取列中最常见的 10 个名称

    我一直在努力想出一个能够提取列中出现频率最高的 10 个名称并将它们存储到数组中以供进一步使用的程序 将列的值收集到数组中以加快处理速度 转移到字典的键 频率作为每个键的项目 工作表的 Large 可以轻松找到第 10 大频率 删除任何频率
  • 创建单元测试用例时 PHPUnit 错误

    我有控制器类 UserController 在控制器文件夹中 扩展BaseController 存在于应用程序文件夹中 当我右键单击并选择选项时 Create PHPUnitTests 它给了我以下错误 phpunit Fatal erro
  • 如何检查 @patched-out python 方法是否被调用而不改变其行为?

    我一直在使用Pythonmock我的测试用例的模块 我经常用以下内容装饰我的测试用例 patch my method 装饰师 然后在测试用例的主体中 我设置了 return value属性或 side effect修补方法上的属性来模拟其行