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
    评论
基于Django的测试质量平台:目前包含数据工厂、接口自动化,后续规划:设备管理、代码覆盖率统计、app打包平台、发布流程、项目管理...<br> <br> 目标是做成最好用、最全面的测试质量平台,先介绍下已有的两个平台情况<br> <br> 数据工厂平台:本篇只是造数据的事务管理平台,还需要搭建一套基于spring框架,封装开发dubbo接口集合的后端平台,再通过DataManager平台调用后端平台的http接口实现造数据功能。参考demo: <a href="https://github.com/DataFactorys/xinyu-qacenter" title="Title">http接口接入平台</a><br> <br> Key Features ------------ - 项目管理:新增、编辑、删除项目、列表展示及相关操作 - 模块管理:新增、编辑、删除模块,为项目新增模块 - 添加事务模板:自定义添加事务模板,自定义入参 - 我的事务模板:铺开展示用户本人添加的事务,方便查看、编辑 - 全部事务:所有事务铺开展示,可以执行调用接口、收藏事务 - 常用事务:按调用量统计显示前10的常用事务 - 我的收藏:显示用户本人收藏的事务 - 环境管理:可添加运行环境,运行用例时可以一键切换环境 - 调用历史:查看事务被调用情况 - 调用量统计:图标展示所有事务被调用情况 本地开发环境部署 -------- 1. 安装mysql数据库服务端(推荐5.7+),并设置为utf-8编码,排序规则utf8_general_ci,创建相应qacenter数据库,设置好相应用户名、密码,启动mysql 2. 修改:qacenter/qacenter/settings.py里DATABASES字典和邮件发送账号相关配置 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值