python mock使用

4990 ワード

適用シーン:プロジェクトの初期に、インタフェースドキュメントが提供され、複雑なインタフェース機能は実現されませんでした.しかし、他のインタフェースリンクは呼び出す必要があります.まずmockの戻り値を返すことができます.
 
from unittest import mock

url = "https://docs.open.alipay.com/api_1/alipay.trade.pay"
#
data = {'user': 'python01', 'pay_pwd': 123456,'money':88.88}

res_data = {
    "alipay_trade_pay_response": {
        "code": "10000",
        "msg": "Success"
    },
    "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
#     mock  
request = mock.Mock(return_value=res_data)

#   mock  
response = request(url=url,data=data)
print(response)
from unittest.mock import Mock

gen_sign = Mock(return_value="yJhbGciOiJIUzUxMiJ9.eyJtZW1iZXJf")

class TestLogin(unittest.TestCase):

    def test_login(self):
        data = {
            "user": "xx",
            "pwd": "ldjfss",
            #   gen_sign moke         ,   
            "sign": gen_sign("xx",name="mmm")
        }
        url = "http://127.0.0.1:8000/login"
        reponse = request(url=url,json=data,method="post")