python接口测试覆盖率统计_Python单元测试和覆盖率分析

Python单元测试-unittest

一、简介

学习使用unittest进行单元测试。

测试过程中需要通过属性断言对结果进行判断, 以验证结果是否满足需求。TestCase类提供了多种强大的断言方法, 如asserTrue, assertFalse, assertEqual,assertNotEqual, assertIs等。参考文档见 https://docs.python.org/3/library/unittest.html

这些断言方法可以在断言的同时加上一个message参数,这样可以使断言的意义明确而且方便维护, 在测试失败时抛出可读的信息。

二、测试步骤import unittest

定义一个继承自unittest.TestCase的测试用例类

定义setUp和tearDown, 在每个测试用例前后做一些辅助工作

定义测试用例, 名字以test开头

一个测试用例应该只测试一个方面, 测试目的和测试内容应很明确。 主要是调用assertEqual、 assertRaises等断言方法判断程序执行结果和预期值是否相符

调用unittest.main()启动测试

如果测试未通过, 会输出相应的错误提示; 如果测试全部通过则显示ok, 添加-v参数显示详细信息。

三、mock

Python 3.3开始内置了Mock工具包, 可以使用mock对象替代掉指定的Python对象, 以达到模拟对象的行为。

Mock类: 用于创建mock对象, 当访问mock对象的某个属性时, mock对象会自动创建该属性。

MagicMock类: Mock对象的子类, 预先定义了操作符(如lt, len) 。

patch装饰器: 可以将其作用在测试方法上, 限定在当前测试方法中使用mock来替换真实对象。

属性断言: mock对象提供了一系列断言方法, 可以在使用属性断言时判断程序对mock对象的调用是否符合预期。

assert_called_with, assert_called_once_with, assert_any_call, assert_has_calls https://docs.python.org/3/library/unittest.mock.html#the-mock-class

行为控制: 通常程序需要从依赖对象的方法上取得返回值, mock对象也提供了一 些途径对返回值进行控制。

return_value: 固

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值