接前文: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!!