python - 在 unittest 中使用补丁模块时,自动完成 pycharm 不起作用
问题描述
以下代码工作正常,这是一个模拟打印功能的非常简单的测试。问题是当我调用 mocked_print 并希望使用assert_called_once_with方法自动完成mocked_print时,编辑器的建议中没有出现。
环境:
- 视窗 10
- PyCharm 社区版 2019.2.2
- 蟒蛇3.7.4.exe
import unittest
from unittest import mock
def print_something():
print('Hello')
class TestFoo(unittest.TestCase):
def test_print(self):
with mock.patch('builtins.print') as mocked_print:
print_something()
mocked_print.assert_called_once_with("Hello")
解决方案
您可以导航到mock.patch
定义并看到它被键入为_patch
没有assert_called_once_with
.
PyCharm 使用来自typeshed的存根,unittest
因此似乎应该修改相应的存根。
推荐阅读
- sql-server - 约束逻辑和作业
- sql - 有什么方法可以将参数传递给 CTE?
- python - Python鼻子测试:在多个进程中运行测试时不调用自定义插件的添加**挂钩
- python - 获取最大日期并更改数据类型(使用 Python 的 Sqlite)
- spring-boot - 春季 JPQL 处理日期
- javascript - 如何在我的反应 js 页面中显示来自 json 数据的 html 代码?
- python - 如何解决django模型中的循环导入?
- openlayers - OpenLayers 计算两个坐标之间的距离给出了错误的答案
- c - 调用堆栈函数序言混乱
- jmeter - Jmeter-如何捕获从请求发送到在数据库中更新的时间?