跳转到主要内容

提供对不存在mock方法的检查

项目描述

请记住,模拟对象的职责是在有人调用它时说“你做到了,老板”。当调用其便利方法之一(如assert_called_once_with)时,它会执行实际工作,例如引发异常。但是,当您调用一个仅类似便利方法的方法时,例如assert_called_once(没有_with!),它不会执行实际工作。有时开发者可能没有意识到他们正在使用一个不存在的模拟方法,因为他们没有收到告知他们的输出错误。而且出于某种原因,他们也可能忘记在编写实现代码之前验证测试用例是否失败。

此插件在运行Python代码检查器flake8时检查可能不存在的方法。

http://engineeringblog.yelp.com/2015/02/assert_called_once-threat-or-menace.html的启发。

安装

您可以使用以下命令安装或升级flake8-mock

$ pip install flake8-mock
$ pip install --upgrade flake8-mock

检查不存在的方法列表

  • assert_calls

  • not_called

  • called_once

  • called_once_with

Flake8插件

当同时安装了flake8flake8-mock时,插件在flake8中可用。

$ flake8 --version
5.0.4 (flake8-mock: 0.4, ...)

示例输出

运行flake8后,您可以看到类似的内容:

$ flake8 test_file.py
test_file.py:27:1: M001 assert_calls is a non-existent mock method.
test_file.py:28:1: M001 called_once_with is a non-existent mock method.
test_file.py:39:1: M001 not_called is a non-existent mock method.
test_file.py:40:1: M001 assert_called is a non-existent mock method.

致谢

合作者

更改

0.4 (05-12-2023)

  • 修复与flake8 >= 5.0.0的兼容性。

0.3 (09-10-2016)

  • 不要在assert_not_calledassert_calledassert_called_once上发出警告。

  • 在README.rst中仅使用ASCII字符。

0.2 (12-16-2015)

  • 添加Python 3兼容性。

0.1 (10-20-2015)

  • 首次发布。

0.1dev0(2015年10月19日)

  • 首次开发版本。

项目详细信息


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分发

flake8-mock-0.4.tar.gz (10.2 kB 查看哈希

上传时间:

构建分发

flake8_mock-0.4-py3-none-any.whl (10.5 kB 查看哈希

上传时间: Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面