提供对不存在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插件
当同时安装了flake8和flake8-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.
致谢
Nejc Zupan(Niteo)提供了想法和校对。
合作者
更改
0.4 (05-12-2023)
修复与flake8 >= 5.0.0的兼容性。
0.3 (09-10-2016)
不要在assert_not_called、assert_called或assert_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 查看哈希)