如何测试 Django 测试用例中是否记录了特定日志消息?

2024-02-27

我想确保代码中的某个条件会导致日志消息写入 django 日志。我如何使用 Django 单元测试框架来做到这一点?

是否有地方可以检查记录的消息,类似于检查已发送的电子邮件?我的单元测试扩展了django.test.TestCase.


使用mock http://www.voidspace.org.uk/python/mock/用于模拟日志记录模块或记录器对象的模块。完成此操作后,检查调用日志记录函数所使用的参数。

例如,如果您的代码如下所示:

import logging

logger = logging.getLogger('my_logger')

logger.error("Your log message here")

它看起来像:

from unittest.mock import patch # For python 2.x use from mock import patch

@patch('this.is.my.module.logger')
def test_check_logging_message(self, mock_logger):
    mock_logger.error.assert_called_with("Your log message here")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何测试 Django 测试用例中是否记录了特定日志消息? 的相关文章

  • 如何在 success_url 中传递上下文数据?

    我制作了一个表单 我希望再次返回相同的表单 这次使用可在我的模板中使用的上下文数据来显示表单已成功发送 我怎样才能做到这一点 class ContactUsView FormView form class ContactUsForm tem
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 在 Django 中定期运行一个函数

    我在 Django 中编写一个应用程序来监视一组服务器中的某些服务 我希望定期更新观点 到目前为止 我已经研究过编写自定义管理命令 链接在这里 http docs djangoproject com en dev howto custom
  • 测试弱引用

    在 Java 中测试弱引用的正确方法是什么 我最初的想法是执行以下操作 public class WeakReferenceTest public class Target private String value public Targe
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 为什么当我运行“python manage.pysyncdb --all”时会出现此错误?

    我正在尝试应用教程http docs django cms org en 2 1 3 getting started tutorial html http docs django cms org en 2 1 3 getting start
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 单元测试时 Android Studio 2.0 中测试状态终止且没有任何失败消息

    Issue 我昨天在 Ubuntu 上从 1 5 升级到了 Android Studio 2 0 当我在 Android Studio 2 0 中进行单元测试时 即使所有测试都已通过 它也会显示 终止测试 状态 有时它只显示部分测试通过 我
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar

随机推荐

  • Material UI 表 - 使用 Span 的等宽列?

    我正在尝试利用TableMaterial UI 中的组件用于构建数据表 但是 我正在努力为我的数据表制作等宽的列 目前我正在尝试这样的事情
  • 如何在 Hibernate 4 中禁用临时表重新创建?

    每次我连接到数据库时 Hibernate 4 都会创建临时表 Hibernate create table HT 有没有办法只创建一次 有一天 我也在寻找相同的东西 但没有成功 但我发现非常好的文章 http in relation to
  • 如何将外部文件作为类似于代码块的 Sphinx 文档包含在内?

    如何将外部文件作为类似于代码块的 Sphinx 文档包含在内 我怎样才能让它设置语法颜色的样式 在这里找到它 https www sphinx doc org en master usage restructivetext directiv
  • 从 GitHub 加载 Maven 依赖项 [重复]

    这个问题在这里已经有答案了 如何从 GitHub 存储库添加 Java 库 该库使用 Maven 作为构建系统 作为我的 Maven 项目的依赖项 我可以在不下载和编译库的情况下做到这一点吗 现在您可以使用以下命令从 GitHub 存储库导
  • 使用 sox splice 淡入淡出一组音频文件

    我可以使用 SoX 连接和交叉淡入淡出两个音频文件 如下所示 sox file1 wav file2 wav outfile wav splice q soxi D file1 wav 0 5 其中 soxi 替换是获取 file1 的持续
  • 如何根据整数变量的值动态创建许多标签和文本框?

    当我们知道 n 的值时 例如单击 显示 按钮后 有什么方法可以动态创建和显示带有 n 个相应文本框的 n 个标签 如果有任何事情让您不明白我的问题 请告诉我 谢谢你 我正在使用 VS C Express 2010 Windows 窗体 我将
  • MSXML2.XMLHTTP 请求验证在 ASP Classic 中输入的 URL

    预先感谢您收到的任何帮助 我想让我们的客户端在文本字段中输入 URL 然后检查该 URL 是否存在并有效 我想检查 3 种可能的结果 状态 200 正常 状态 500 服务器错误 或者状态为 404 未找到页面 在 ASP classic
  • 如何修改此指令,以便一旦输入可见,除非单击 x,否则它不会被隐藏?

    http plnkr co edit fXo21LnphHZ3qWnuEMFt p preview http plnkr co edit fXo21LnphHZ3qWnuEMFt p preview 现在 如果您单击输入之外的任何位置 则
  • 在没有主机访问权限的情况下更改 DotNetNuke 中的

    我需要更改 DotNetNuke 网站的标题 我有管理员访问权限 但没有主机访问权限 我还可以通过FTP访问网站的文件目录 我可以更改索引页的标题吗 如果您正在谈论在 文档部分 您可以在页面设置中逐页进行设置 从全局角度来看 没有真正的方法
  • 检查在执行单元测试期间是否附加了调试器

    如果调试器附加到当前测试执行 是否有方法检查 JUnit 代码 在 NET C 中我知道这是可能的Debugger IsAttached 用例是在附加调试器时更改或完全禁用测试超时 因为如果您只有大约 15 秒 定义的超时 来调试测试 这会
  • 在 Java 中通过 CrossOrigin 注解或在 Spring-Config XML 中使用 Spring 属性

    我在Spring中使用CrossOrigin注释 现在我想将属性作为值注入到注释中 我无法让这个工作 现在我像这样访问我的财产 Value settings cors origin String cors origin 我想将此属性注入到
  • Bitbucket符号(箭头)含义

    箭头是什么意思 我对 git 或 bitbucket 并不陌生 但我认为我可能在最初的提交中搞砸了一些事情 我需要帮助来解决这个问题 我的本地存储库中的文件夹不是空的 而是将其拉到该文件夹 所在的另一个位置 是链接吗 不在我的本地仓库上 该
  • Angular NgRx - 继续轮询仅第一次调用的服务的效果

    我有一个应用程序 我刚刚添加了 NgRX 我希望使用效果来打开和关闭轮询 示例大纲 我跟着这个帖子 https bbonczek github io jekyll update 2018 03 01 polling with ngrx ht
  • Clickonce部署到多个环境

    我有一个 WPF 应用程序 想通过 ClickOnce 部署给我们的用户 我们有四种环境 系统测试 用户测试 并行生产和生产 每个都需要一个不同的配置文件 其中包含服务器名称和特定于环境的其他内容 因此它们不能全部使用相同的代码库 大部分代
  • AudioClip 的频率和音调关系 - Unity3D

    我正在尝试仅使用 6 个音频剪辑来重新创建吉他的完整音域 我在想有一种方法可以设置音频剪辑的频率 但audio Frequency仅返回基于压缩格式的音频频率 而不是实际的音调 我知道我可以阅读 GetSpectrumData 但该解决方案
  • 在 R 中,我们如何向 kable() 表添加重要性星星?

    使用knitr kable 函数通过rmarkdown创建 doc表 我们如何从给定的数据帧 df b 添加 重要性星星符号 i e cutpoints c 0 001 01 05 1 1 symbols c 接近存储在另一个数据帧 df
  • Spring Boot 单元测试自动装配

    我有以下课程 应用和配置类 package mypackage service import mypackage service util MyUtility import org springframework boot SpringAp
  • Charles proxY:在 https 上重写不起作用

    我正在使用 Charles Proxy 重写网站上的代码 只是为了测试客户的网站 重写适用于除 https 网站之外的所有网站 Charles 可以选择协议 http 或 https 但这也不起作用 每次重写都在 http 上运行良好 而不
  • Firebase 查询 - 嵌套数据

    我正在尝试查询 firebase 中的一些分层数据 我在弄清楚如何查询以下数据结构时遇到了一些困难 orgs KBFXBBEyvgtfqMvU4pi name ACME 123 owner K9IPqIUIuEFzLS0f Pe users
  • 如何测试 Django 测试用例中是否记录了特定日志消息?

    我想确保代码中的某个条件会导致日志消息写入 django 日志 我如何使用 Django 单元测试框架来做到这一点 是否有地方可以检查记录的消息 类似于检查已发送的电子邮件 我的单元测试扩展了django test TestCase 使用m