python mock支付_python之mock应用

研发过程中常见分工合作开发接口,但互相之间接口有依赖,这时候便可以使用mock

目录

1、安装

2、使用mock调试自己写的方法

3、使用mock解除依赖关系

1、安装

由于我的是python2.7,则使用pip install -U mock即可完成安装

9877d002f94fbab49c8978289dc0e84e.png

2、使用mock调试自己写的方法

背景:写了一个求和方法sum,现在要测试

准备工作:demo.py中为demo类有一个sum方法,mock_demo.py用来测试自己写的sum方法

#demo.py

class Demo():

def sum(self,a,b):

return a+b

第一步:使用mock结果写好用例

#mock_demo.py

import mock

import unittest

from demo import Demo

class McokDemo(unittest.TestCase)

def test_sum(self):

sum=Demo()

Demo.sum()= mock.Mock(return_value=13)

result=Demo.sum(1,2)

self.assertEqual(result,3)

if __name__='__main__':

unittest.main()

第二步:调用真实方法

#mock_demo.py

import mock

import unittest

from demo import Demo

class McokDemo(unittest.TestCase)

def test_sum(self):

sum=Demo()

Demo.sum()= mock.Mock(side_effect=Demo.sum)

result=Demo.sum(1,2)

self.assertEqual(result,3)

if __name__='__main__':

unittest.main()

注意:side_effect参数,它给mock分配了可替换的结果,高于return_value

3、使用mock解除依赖关系

#demo

def se(self,a,b)

m=a+b

n=reduce(a,b)

return(m,n)

def reduce(self,a,b)

n=a-b

#demo_mock

from mock import patch

import unittest

from demo import Demo

class McokDemo(unittest.TestCase)

@patch("demo.reduce")

def test_se(self,mock_reduce):

a=3

b=2

mock_reduce.return_value=1

m,n=demo.Demo(x,y)

self.assertEqual(5,m)

self.assertEqual(1,n)

if __name__='__main__':

unittest.main()

@patch("demo.reduce"),这里模拟demo.py文件中reduce()函数.return_value设定mock_reduce函数的返回值为固定的1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值