欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

pythonmock測試的示例-創(chuàng)新互聯(lián)

mock總所周知是模擬的意思,我們在做接口測試的時候有時候會發(fā)現(xiàn)部分功能依賴其他業(yè)務場景或者第三方功能或者是線上數(shù)據(jù)或者業(yè)務場景過于復雜(需要大量調(diào)用)的情況,沒有辦法通過接口調(diào)用或者做斷言,這個時候就需要mock了

創(chuàng)新互聯(lián)建站專注于成都網(wǎng)站建設、成都網(wǎng)站制作、網(wǎng)頁設計、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務”的宗旨,從客戶的利益和觀點出發(fā),讓客戶在網(wǎng)絡營銷中找到自己的駐足之地。尊重和關懷每一位客戶,用嚴謹?shù)膽B(tài)度對待客戶,用專業(yè)的服務創(chuàng)造價值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。

python2中需要pip install mock來導入mock第三方模塊,而python3中被引入到unittest框架中,直接from unittest import mock 就可以導入mock模塊了

在單元測試中只針對當前單元做測試,就是測試當前方法或者是當前類,但是如果出現(xiàn)這個方法依賴其他第三方模塊,那不是還要校驗其他方法了嗎,那就違背了單元測試這個概念了,所有將外部依賴組件實現(xiàn)模擬并替換掉,使得單元測試的焦點放在自己身上

為了演示,用fastapi模擬了一個tx和ali的接口來調(diào)用作為單元測試,可以看到需要同時調(diào)用兩個接口才能完成單元測試

from unittest import TestCase, main, mock
import requests


class Request(object):
  def request_tx(self):
    tx_url = 'http://127.0.0.1:8000/tx'
    tx_data = {"a": 1, "b": 2}
    tx_result = requests.post(tx_url, json=tx_data)
    tx_result = tx_result.json()
    return tx_result

  def request_ali(self):
    ali_url = 'http://127.0.0.1:8000/ali'
    ali_data = {"c": 1, "d": 2}
    ali_result = requests.post(ali_url, json=ali_data)
    ali_result = ali_result.json()
    return ali_result


class Myproject(TestCase):
  def test_api(self):
    r = Request()
    ali_result = r.request_ali()
    tx_result = r.request_tx()
    self.assertEqual(int(ali_result['result']['all_add_value']) + int(tx_result['result']['all_add_value']), 6)

當前標題:pythonmock測試的示例-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://www.chinadenli.net/article4/djheoe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃做網(wǎng)站網(wǎng)站制作電子商務網(wǎng)站改版全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設計公司