擋板 mock框架做行為測(cè)試有什么弊端?
mock框架做行為測(cè)試有什么弊端?在單元測(cè)試中,我們經(jīng)常需要做一些模擬操作?,F(xiàn)在有一些很好的框架可以做這些事情,比如easymack,它在大多數(shù)情況下工作得很好,但是在一些結(jié)構(gòu)的設(shè)計(jì)上卻無(wú)能為力。Ea
mock框架做行為測(cè)試有什么弊端?
在單元測(cè)試中,我們經(jīng)常需要做一些模擬操作?,F(xiàn)在有一些很好的框架可以做這些事情,比如easymack,它在大多數(shù)情況下工作得很好,但是在一些結(jié)構(gòu)的設(shè)計(jì)上卻無(wú)能為力。Easymock和其他許多模擬框架只能模擬一些公共的、非靜態(tài)的或final方法。在大多數(shù)情況下,這是沒(méi)有問(wèn)題的。它可以處理大多數(shù)問(wèn)題,但是當(dāng)測(cè)試代碼包含一些靜態(tài)方法時(shí)。Cactus是一個(gè)基于JUnit框架的簡(jiǎn)單測(cè)試框架,用于對(duì)服務(wù)器Java代碼進(jìn)行單元測(cè)試。cactus框架的主要目標(biāo)是能夠在服務(wù)器端使用servlet對(duì)象對(duì)Java方法進(jìn)行單元測(cè)試,比如HttpServletRequest,它是單元測(cè)試的框架。例如,如果你寫(xiě)了一個(gè)程序,想在功能測(cè)試之前,即整體測(cè)試之前知道它的對(duì)錯(cuò),你可以用這些工具來(lái)編寫(xiě)一個(gè)單元測(cè)試用例,分別測(cè)試類(lèi)或部分程序
只有一個(gè)關(guān)鍵點(diǎn)。一般來(lái)說(shuō),是制作一個(gè)假接口,它有真實(shí)接口的響應(yīng)結(jié)果,但不具備業(yè)務(wù)處理能力。平時(shí)也叫模仿,也叫擋板,雖然名字不一樣,表達(dá)的意思是一樣的。
如何利用假界面來(lái)模擬真實(shí)界面,主要有兩個(gè)方向可供參考。
首先是使用一些開(kāi)源技術(shù),比如Moco,它是用Java編寫(xiě)的jar包。通過(guò)配置文件進(jìn)行模擬。在配置文件中,配置了服務(wù)地址、請(qǐng)求參數(shù)、請(qǐng)求頭、響應(yīng)信息、響應(yīng)頭等信息。Java命令用于啟動(dòng),并且可以添加啟動(dòng)參數(shù),例如啟動(dòng)端口。啟動(dòng)后,可以使用工具進(jìn)行訪問(wèn),如postman。當(dāng)然,您可以編寫(xiě)自己的代碼來(lái)請(qǐng)求。請(qǐng)求的方法和參數(shù)與正式請(qǐng)求的方法和參數(shù)相同。
第二個(gè)是寫(xiě)假,現(xiàn)在的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)非常成熟,寫(xiě)一個(gè)界面也很簡(jiǎn)單,更不用說(shuō)我們自己寫(xiě)的業(yè)務(wù)邏輯,只包含參數(shù)和響應(yīng)信息。特定的技術(shù),比如Java,可以使用springboot。如果您已經(jīng)使用過(guò)它,您可以在幾分鐘內(nèi)編寫(xiě)一個(gè)接口。如果您還沒(méi)有使用它,您可以在Internet上搜索文章并進(jìn)行配置。如果你不會(huì)寫(xiě)Java,你可以用python。有許多框架使用python。最簡(jiǎn)單最輕的框架屬于火焰。不管你能不能,你都可以花點(diǎn)時(shí)間看看文檔,輕松地編寫(xiě)一個(gè)接口。
如何在開(kāi)發(fā)測(cè)試之前進(jìn)行接口測(cè)試?
其實(shí)這個(gè)問(wèn)題的關(guān)鍵是仿真,也就是說(shuō)造假。具體的方法可以用我上面建議的方法,當(dāng)然,其他方法也可以用,只要能做到。
開(kāi)發(fā)未提測(cè)之前,如何開(kāi)展接口測(cè)試?
1. 測(cè)試過(guò)程的概念:
2。需求分析技能:
3。案例寫(xiě)作技巧:4。代碼編寫(xiě)技巧:
自動(dòng)測(cè)試開(kāi)發(fā)的前提下,Python和Java可以學(xué)習(xí)其中任何一種
5。環(huán)境構(gòu)建工具:
將軟件安裝到硬件環(huán)境、Linux xshell xftp、MySQL navcat等
6。測(cè)試開(kāi)發(fā)技巧:
實(shí)現(xiàn)界面自動(dòng)化,selenium appium JMeter postman,F(xiàn)iddler等