test_mock.py
2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from unittest import mock
import unittest
from commons.api import mock_demo
# import temple
# def zhifu():
# '''假设这里是一个支付的功能,未开发完
# 支付成功返回:{"result": "success", "reason":"null"}
# 支付失败返回:{"result": "fail", "reason":"余额不足"}
# reason返回失败原因
# '''
# pass
#
# def zhifu_status():
# '''根据支付的结果success or fail,判断跳转到对应页面'''
# result = zhifu()
# print(result)
# try:
# if result["result"] == "success":
# return "支付成功"
# elif result["result"] == "fail":
# print("失败原因:%s" % result["reason"])
# return "支付失败"
# elif result["result"] == "error":
# print("失败原因:%s" % result["reason"])
# return "支付错误"
# else:
# print("未知异常")
# return "未知异常"
# except:
# return "Error, 服务端返回异常!"
class Test_zhifu_status(unittest.TestCase):
'''单元测试用例'''
def test_01(self):
'''测试支付成功场景'''
# mock一个支付成功的数据
mock_demo.zhifu = mock.Mock(return_value={"result": "success", "reason":"null","extra":"debug"})
# 根据支付结果测试页面跳转
print(mock_demo.zhifu.return_value)
print(dir(mock_demo.zhifu))
status = mock_demo.zhifu_status()
print(status)
self.assertEqual(status, "支付成功")
def test_02(self):
'''测试支付失败场景'''
# mock一个支付成功的数据
mock_demo.zhifu = mock.Mock(return_value={"result": "fail", "reason": "余额不足"})
# 根据支付结果测试页面跳转
status = mock_demo.zhifu_status()
self.assertEqual(status, "支付失败")
def test_03(self):
'''测试支付错误场景'''
# mock一个支付成功的数据
mock_demo.zhifu = mock.Mock(return_value={"result": "error", "reason": "error demo"})
# 根据支付结果测试页面跳转
status = mock_demo.zhifu_status()
self.assertEqual(status, "支付错误")
def test_04(self):
'''测试未知异常场景'''
# mock一个支付成功的数据
mock_demo.zhifu = mock.Mock(return_value={"result": "excption", "reason": "excption demo"})
# 根据支付结果测试页面跳转
status = mock_demo.zhifu_status()
self.assertEqual(status,"未知异常")
if __name__ == "__main__":
unittest.main()