性少妇vide0seⅹfree_国产剧情视频在线观看_日日碰夜夜爽_九九这里只有精品视频_性free毛茸茸偷窥videos_国产v亚洲

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > 如何用Python編寫REST API的單元測試

如何用Python編寫REST API的單元測試

2020-09-28 18:03:10 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

在過去的幾個月中,正在從事一個名為B的項(xiàng)目。它是帶有簡單Web UI的徽章生成器,用于添加數(shù)據(jù)并生成PDF可打印徽章。B后端現(xiàn)在已轉(zhuǎn)移到REST-API并測試REST-API中使用的功能,我們需要一些測試技術(shù)來測試API中使用的每個功能。為了我們的目的,我們選擇了流行的單元測試 Python測試套件。在此,將討論如何編寫單元測試來測試B REST-API。

首先,讓我們了解什么是單元測試以及為什么選擇它。然后,我們將繼續(xù)為B編寫API測試。這些測試具有通用的結(jié)構(gòu),因此我提到的代碼可以在其他REST API測試方案中正常工作,而無需做任何改動。讓我們開始并逐步了解API測試。

  什么是單元測試?

單元測試是一個Python單元測試框架,它支持測試自動化,共享測試的設(shè)置和關(guān)閉代碼,將測試聚合到集合中以及使測試脫離報(bào)告框架。所述單元測試模塊提供類,可以很容易地支持這些品質(zhì)為一組測試。

  為什么要進(jìn)行單元測試?

我們從單元測試中獲得了兩個主要好處,其中大部分價值都體現(xiàn)在第一個方面:

· 指導(dǎo)您的設(shè)計(jì)松耦合并充實(shí)。如果進(jìn)行測試驅(qū)動的開發(fā),它會將您編寫的代碼限制為僅需要的內(nèi)容,并幫助您逐步開發(fā)該代碼。

· 為重構(gòu)和代碼的少量更改提供快速的自動化回歸。

· 單元測試還為您提供了有關(guān)系統(tǒng)的小部分工作原理的實(shí)時文檔。

我們應(yīng)該始終努力編寫涵蓋工作代碼的全面測試。

現(xiàn)在,這是我如何在B的REST-API后端中編寫用于測試代碼的單元測試的一瞥。使用單元測試python包和請求模塊,我們可以在測試自動化中測試REST API。

下面是我在其中一個pull請求中編寫了單元測試的代碼段。

def輸出(response_type,消息,download_link):

如果download_link ==”:

response = [

{

'type':response_type,

'message':message

}

]

else:

response = [

{

'type':response_type,

'message':消息,

“ download_link”:download_link

}

]

返回jsonify({'response':response})

為了測試這個功能,我基本上創(chuàng)建了一個模擬對象,它可以模擬以可控的方式真實(shí)對象的行為,所以在這種情況下,模擬對象可以模擬輸出功能和回報(bào)行為的東西像一個JSON響應(yīng)沒有擊中真實(shí)REST API。現(xiàn)在,下一個挑戰(zhàn)是解析JSON響應(yīng),并將響應(yīng)JSON的特定值提供給Python自動化腳本。因此,Python將JSON作為字典對象讀取,并且它確實(shí)簡化了需要解析和使用JSON的方式。

#!/ usr / bin / env python3

“”“基本功能測試”””

import sys

import json

import unittest

來自app.main import的sys.path.append(“ ../ ..”)*

class TestFunctions(unittest.TestCase):

“”“客戶端方法的測試用例。”””

def setup(self):

app.app.config ['TESTING'] = True

self.app = app.app.test_client()

#測試輸出函數(shù)

def test_output(self):

使用app.test_request_context():

#模擬對象

out = output('錯誤','測試錯誤','本地主機(jī)')

#傳遞模擬對象

響應(yīng)= [

{

'類型' :'error',

'message':'Test Error',

'download_link':'local_host'

}

]

數(shù)據(jù)= json.loads(out.get_data(as_text = True)

#聲明響應(yīng)

self.assertEqual(data ['response'],response)

如果__name__ =='__main__':

unittest.main()

最后,我們可以通過運(yùn)行試行測試來驗(yàn)證一切正常 。

這就是在B項(xiàng)目中存儲庫中編寫單元測試的方式。

上述就是關(guān)于如何用Python編寫REST API的單元測試全部內(nèi)容,想了解更多關(guān)于Python的信息,請繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: Python編寫 軟件研發(fā)
主站蜘蛛池模板: 视频二三区| 成年人一区二区三区 | 国产精品国产三级国产普通话对白 | 国产精品久久久久久人妻精品动漫 | 宅男午夜成年影视在线观看 | 五月婷婷综合色拍 | 国产一区二区中文字幕 | 西方av在线 | 日韩有码电影 | 亚洲宅男网av | 天堂俺去俺来也www久久婷婷 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 可以在线观看视频的网盘 | 91精品国产91久久久久久密臀 | 亚洲大片精品免费 | 免费观看黄色12片一级视频 | 最近中文字幕2019在线一区 | 免+费+成人黄+色+在线观看 | 成人国产在线激情 | 欧美国产一区二区在线 | 国产香蕉97碰碰视频碰碰看 | 三级国产 | 久久精品无码观看TV | 成年人网站黄色 | 波多野结衣亚洲天堂 | 日韩欧美中文字幕制服 | 性欧美8处一14处破 午煮香蕉小辣椒 | 欧洲性网站 | 日韩在线免费电影 | 欧美黑人又大又粗XXXXX | 春暖花开sex8最新地址 | 亚洲国产精品成人精品 | 国产福利视频 | 操碰视频在线观看 | 最近中文大全免费视频播放 | 最新av免费在线观看 | 国产香蕉久久精品综合网 | 成人成人成人在线视频 | 国产破处毛片 | 香蕉久久国产 | 亚洲国产精品SSS在线观看AV |