溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

淺談Angular單元測試總結(jié)

發(fā)布時(shí)間:2020-10-10 19:40:22 來源:腳本之家 閱讀:134 作者:潘佳琦 欄目:web開發(fā)

測試分類

按開發(fā)階段劃分

  • 單元測試

單元測試又稱模塊測試,針對(duì)軟件設(shè)計(jì)中的最小單位——程序模塊,進(jìn)行正確性檢查的測試工作。

  • 集成測試

集成測試又叫組裝測試,通常在單元測試的基礎(chǔ)上,將所有程序模塊進(jìn)行有序的、遞增測試。重點(diǎn)測試不同模塊的接口部分

  • 系統(tǒng)測試

指的是將整個(gè)軟件系統(tǒng)看成一個(gè)整體進(jìn)行測試,包括對(duì)功能、性能以及軟件所運(yùn)行的軟硬件環(huán)境進(jìn)行測試。

  • 驗(yàn)收測試

指按照項(xiàng)目任務(wù)書或合同、供需雙方約定的驗(yàn)收依據(jù)文檔進(jìn)行的對(duì)整個(gè)系統(tǒng)的測試與評(píng)審,決定是否接收或拒收系統(tǒng)

按是否運(yùn)行劃分

  • 靜態(tài)測試

是指不實(shí)際運(yùn)行被測軟件,而只是靜態(tài)地檢查程序代碼、界面或文檔中可能存在的錯(cuò)誤過程

  • 動(dòng)態(tài)測試

是指實(shí)際運(yùn)行被測程序,輸入相應(yīng)的測試數(shù)據(jù),檢查實(shí)際輸出結(jié)果和預(yù)期結(jié)果是否相符的過程。
按是否查看源代碼劃分

  • 黑盒測試

指的是把被測的軟件看做一個(gè)黑盒子,不關(guān)心盒子里面的結(jié)構(gòu)是什么樣子,只關(guān)心軟件的輸入數(shù)據(jù)和輸出數(shù)據(jù)。

  • 白盒測試

指的是把盒子打開,去研究里面的源代碼和程序結(jié)構(gòu)。

其他

  • 回歸測試

是指軟件被修改后重新進(jìn)行的測試,重復(fù)執(zhí)行上一個(gè)版本測試時(shí)的用例,是為了保證對(duì)軟件所做的修改沒有引入新的錯(cuò)誤而重復(fù)進(jìn)行的測試。

  • 冒煙測試

是指在對(duì)一個(gè)新版本進(jìn)行系統(tǒng)大規(guī)模的測試之前,先驗(yàn)證一下軟件的基本功能是否實(shí)現(xiàn),是否具備可測性。

  • 隨機(jī)測試

是指測試中所有的輸入數(shù)據(jù)都是隨機(jī)生成的,其目的是模擬用戶的真實(shí)操作,并發(fā)現(xiàn)一些邊緣性的錯(cuò)誤。

一直以來都是后臺(tái)寫單元測試,這周初次使用前臺(tái)單元測試,出錯(cuò)是必然的

問題使用自己寫的組件或者管道是報(bào)錯(cuò)

淺談Angular單元測試總結(jié)

需要在前臺(tái)單元測試spec.ts文件中加入自己寫的組件或管道,例如:

淺談Angular單元測試總結(jié)

使用框架中自帶的組件

淺談Angular單元測試總結(jié)

需要在前臺(tái)單元測試spec.ts文件中加入報(bào)錯(cuò)信息提示的組件,例如:

[object ErrorEvent] thrown [對(duì)象 錯(cuò)誤事件] 被拋出

淺談Angular單元測試總結(jié)

這個(gè)錯(cuò)誤是遇到次數(shù)最多的,當(dāng)時(shí)出現(xiàn)這個(gè)錯(cuò)誤時(shí)和張喜碩組長研究查資料搞了大半宿也沒解決,最后還是在潘老師的幫助下解決的,得知ng test 時(shí)控制臺(tái)報(bào)錯(cuò)的哪個(gè)文件,不一定是這個(gè)文件出錯(cuò),解決辦法如下:

打開單元測試時(shí)自動(dòng)彈出來瀏覽器的控制臺(tái)

淺談Angular單元測試總結(jié)

控制臺(tái)中,由于http發(fā)起請(qǐng)求時(shí),必然發(fā)生錯(cuò)誤,所以有很多個(gè)錯(cuò)誤,但是導(dǎo)致單元測試不通過的,只有那些發(fā)生了異常,我們沒有傳入error的

淺談Angular單元測試總結(jié)

找到Uncaught,點(diǎn)開HttpErrorResponse看一下對(duì)應(yīng)service中的那個(gè)服務(wù)

在對(duì)應(yīng)的服務(wù)中找到,找到方法(在方法名上右鍵Find Usages )看誰調(diào)用了我。

淺談Angular單元測試總結(jié)

在訂閱的時(shí)候,要加入error異常錯(cuò)誤

淺談Angular單元測試總結(jié)

加上之后問題解決,單元測試通過。

總結(jié)

單元測試從長期來看,可以提高代碼質(zhì)量,減少維護(hù)成本,降低重構(gòu)難度。但是從短期來看,加大了工作量,對(duì)于進(jìn)度緊張的項(xiàng)目中的開發(fā)人員來說,可能會(huì)成為不少的負(fù)擔(dān)。

但是我這里有個(gè)疑問:

angular單元測試都是用命令行自動(dòng)生成的,測試和不測試有什么區(qū)別?感覺加了測試反而更麻煩

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI