您的位置:首页 > 财经 > 金融 > 建设工程信息网官网查询系统_长沙电商网站建设_新手如何做网上销售_以下属于网站seo的内容是

建设工程信息网官网查询系统_长沙电商网站建设_新手如何做网上销售_以下属于网站seo的内容是

2024/12/22 18:22:48 来源:https://blog.csdn.net/chichu261/article/details/143376826  浏览:    关键词:建设工程信息网官网查询系统_长沙电商网站建设_新手如何做网上销售_以下属于网站seo的内容是
建设工程信息网官网查询系统_长沙电商网站建设_新手如何做网上销售_以下属于网站seo的内容是

【Python单元测试】pytest框架单元测试 配置 命令行操作 测试报告 覆盖率
在这里插入图片描述

常用用例

本文重点介绍使用的Mock写法, pytest的基本用法,非本文重点。

睡眠Mock time.sleep

python内置类的mock可以参照此种写法, Mock后内置类/方法实际并不会执行,assert是否被调用

from unittest.mock import patchdef xx():print("a" * 10)time.sleep(1)  # 此处有睡眠print("b" * 10)@patch("time.sleep")  # mock后, UT执行时不睡眠
def test_xx(mock_sleep):xx()# .assert_not_called()# .assert_called()# .assert_called_once()# .assert_called_once_with(params) params UT调用时的参数# .assert_called_times(2)   被执行2次assert mock_sleep.assert_called_once_with(1)  # 查看睡眠行是否调用, 并且mock睡眠时间是不是1秒

调用类Mock

# module_a/a.pyclass ClassA:@staticmethoddef cal_sum(a: int, b: int) -> int:return a + bdef cal_2_num_sum(a, b):ret = ClassA.cal_sum(a, b)return ret
# unit_test/test_module_a.pyfrom unittest.mock import patchfrom module_a.a import cal_2_num_sum@patch("module_a.ClassA")
def cal_2_num_sum(mock_class_a):mock_class_a.return_value.cal_sum.return_value = 0ret = cal_2_num_sum(1, 2)assert ret == 0@patch.object(ClassA, "cal_sum")
def cal_2_num_sum(mock_cal_sum):mock_cal_sum.return_value = 0ret = cal_2_num_sum(1, 2)assert ret == 0

装饰器Mock

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com