test_mock_path.py 2.01 KB
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# coding:utf-8
from unittest import mock
import unittest
from commons.api import mock_demo
# import temple

class Test_zhifu_statues(unittest.TestCase):
    '''单元测试用例'''

    @mock.patch("commons.api.mock_demo.zhifu")
    def test_01(self, mock_zhifu):
        '''测试支付成功场景'''
        # 方法一:mock一个支付成功的数据
        # temple.zhifu = mock.Mock(return_value={"result": "success", "reason":"null"})
        # 方法二:mock.path装饰器模拟返回结果
        mock_zhifu.return_value = {"result": "success", "reason":"null"}
        # 根据支付结果测试页面跳转
        statues = mock_demo.zhifu_statues()
        print(statues)
        self.assertEqual(statues, "支付成功")

    @mock.patch("commons.api.mock_demo.zhifu")
    def test_02(self, mock_zhifu):
        '''测试支付失败场景'''
        # mock一个支付成功的数据
        mock_zhifu.return_value = {"result": "fail", "reason": "余额不足"}
        # 根据支付结果测试页面跳转
        statues = mock_demo.zhifu_statues()
        self.assertEqual(statues, "支付失败")

    @mock.patch("commons.api.mock_demo.zhifu")
    def test_03(self, mock_zhifu):
        '''测试支付错误场景'''
        # mock一个支付成功的数据
        mock_zhifu.return_value = {"result": "error", "reason": "支付错误"}
        # 根据支付结果测试页面跳转
        statues = mock_demo.zhifu_statues()
        self.assertEqual(statues, "支付错误")
        
    @mock.patch("commons.api.mock_demo.zhifu")
    def test_04(self, mock_zhifu):
        '''测试未知异常场景'''
        # mock一个支付成功的数据
        mock_zhifu.return_value = {"result": "excption", "reason": "未知异常"}
        # 根据支付结果测试页面跳转
        statues = mock_demo.zhifu_statues()
        self.assertEqual(statues, "未知异常")
        

if __name__ == "__main__":
    unittest.main()