【Python+unittest】使用mock.Mock()模拟数据,进行unittest单元和API接口测试

接前文:https://blog.csdn.net/woshiyigerenlaide/article/details/104211507 。 本文使用mock数据进行简单测试。

1.文件名称:test40.py
定义2个类,data_change是返回数据,data_show是展示数据。

此时,data_change尚未开发完成,我们mock数据进行测试

# data_change 未开发完成,所以不执行,pass
def data_change():
    pass
def data_show():
# 定义1个变量data,是data_change返回的数据,本文设定为字典格式
    data = data_change()
# 根据code分别=200 / -1,返回不同的数据。  如果均不是,则显示未知错误
    if data.get("code") == 200:
        return "code:200, Data change success!"
    elif data.get("code") == -1:
        return "code:-1, Data change failed!!"
        print ("Data change failed, code is %s, message is %s" % data.get("code"), data.get("message"))
    else:
        return "Unknow Error!!!"

2.文件名称:test41.py

import test40
from unittest import TestCase, main
import mock  # 我电脑是python2。如果是python3.3,应该是from unittest import mock

class TestData(TestCase):
# 2个测试用例,分别对应code = 200 和 -1,然后进行断言
    def test_01(self):
        test40.data_change = mock.Mock(return_value = {"code": 200, "message": "Success!"})
        print (test40.data_show())
        self.assertEqual(test40.data_show(), "code:200, Data change success!", "code200, fail")
    def test_02(self):
        test40.data_change = mock.Mock(return_value = {"code": -1, "message": "Failed!!"})
        print (test40.data_show())
        self.assertEqual(test40.data_show(), "code:-1, Data change failed!!", "code-1, fail")

if __name__ == '__main__':
    main()

运行结果:

All 2 test2 passed - 0ms
code:200, Data change success!
code:-1, Data change failed!!
发布了94 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/woshiyigerenlaide/article/details/104212459