旅游便宜网站建设,WordPress的,安徽专业网站建设,深圳软件外包公司排名什么是mock#xff1f;
mock测试就是在测试过程中#xff0c;对于某些不容易构造或者不容易获取的对象#xff0c;用一个虚拟的对象来创建以便测试的测试方法。
mock的作用
特别是开发过程中上下游未完成的工序导致当前无法测试#xff0c;需要虚拟某些特定对象以便测试…什么是mock
mock测试就是在测试过程中对于某些不容易构造或者不容易获取的对象用一个虚拟的对象来创建以便测试的测试方法。
mock的作用
特别是开发过程中上下游未完成的工序导致当前无法测试需要虚拟某些特定对象以便测试。
unittest是python内置的单元测试库在做接口测试时如果开发的接口未开发出来我们如果想要测试接口联调又不能干等着这时可以使用unittest.mock模拟接口返回进行接口测试。
举个栗子
示例1、新增登录和获取个人信息两个接口分别由A和B开发。2、A登录接口尚未开发完成B获取个人信息接口已经开发完成。3、已知登录接口返回3种状态登录成功登录失败登录异常。
场景源码case.py
# -*-coding:utf-8 -*-def login():# 登录接口尚未开发完成# 登录成功返回{result: success, message: 登录成功}# 登录失败返回{result: fail, message:账号或密码错误}# 登录异常返回{code: 404, message: 找不到页面}# message返回失败原因passdef get_user_info():# 根据登录的结果success or fail判断跳转到对应页面result login()print(result)try:if result[result] success:return 登录成功elif result[result] fail:return 登录失败else:return 未知失败except:return 服务端异常
单元测试用例设计
# -*-coding:utf-8 -*-
from unittest import mock
import unittest
import caseclass TestLogin(unittest.TestCase):# 单元测试用例def test_login_success(self):# 测试登录成功场景# mock一个支付成功的数据case.login mock.Mock(return_value{result: success, message: 登录成功})# 根据支付结果测试页面跳转statues case.get_user_info()self.assertEqual(statues, 登录成功)def test_login_fail(self):# 测试登录失败场景# mock一个登录失败的数据case.login mock.Mock(return_value{result: fail, message: 账号或密码错误})# 根据登录结果测试页面跳转statues case.get_user_info()self.assertEqual(statues, 登录失败)def test_login_fail2(self):# 测试登录失败场景# mock一个登录失败的数据case.login mock.Mock(return_value{result: , message: 账号或者密码为空})# 根据登录结果测试页面跳转statues case.get_user_info()self.assertEqual(statues, 未知失败)def test_login_error(self):# 测试登录异常场景# mock一个登录异常的数据case.login mock.Mock(return_value{code: 404, message: 找不到页面})# 根据登录结果测试页面跳转statues case.get_user_info()self.assertEqual(statues, 服务端异常)if __name__ __main__:unittest.main()
执行unittest单元测试用例 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走