淺談Angular單元測試總結(jié)
測試分類
按開發(fā)階段劃分
- 單元測試
單元測試又稱模塊測試,針對軟件設(shè)計中的最小單位——程序模塊,進行正確性檢查的測試工作。
- 集成測試
集成測試又叫組裝測試,通常在單元測試的基礎(chǔ)上,將所有程序模塊進行有序的、遞增測試。重點測試不同模塊的接口部分
- 系統(tǒng)測試
指的是將整個軟件系統(tǒng)看成一個整體進行測試,包括對功能、性能以及軟件所運行的軟硬件環(huán)境進行測試。
- 驗收測試
指按照項目任務(wù)書或合同、供需雙方約定的驗收依據(jù)文檔進行的對整個系統(tǒng)的測試與評審,決定是否接收或拒收系統(tǒng)
按是否運行劃分
- 靜態(tài)測試
是指不實際運行被測軟件,而只是靜態(tài)地檢查程序代碼、界面或文檔中可能存在的錯誤過程
- 動態(tài)測試
是指實際運行被測程序,輸入相應(yīng)的測試數(shù)據(jù),檢查實際輸出結(jié)果和預期結(jié)果是否相符的過程。
按是否查看源代碼劃分
- 黑盒測試
指的是把被測的軟件看做一個黑盒子,不關(guān)心盒子里面的結(jié)構(gòu)是什么樣子,只關(guān)心軟件的輸入數(shù)據(jù)和輸出數(shù)據(jù)。
- 白盒測試
指的是把盒子打開,去研究里面的源代碼和程序結(jié)構(gòu)。
其他
- 回歸測試
是指軟件被修改后重新進行的測試,重復執(zhí)行上一個版本測試時的用例,是為了保證對軟件所做的修改沒有引入新的錯誤而重復進行的測試。
- 冒煙測試
是指在對一個新版本進行系統(tǒng)大規(guī)模的測試之前,先驗證一下軟件的基本功能是否實現(xiàn),是否具備可測性。
- 隨機測試
是指測試中所有的輸入數(shù)據(jù)都是隨機生成的,其目的是模擬用戶的真實操作,并發(fā)現(xiàn)一些邊緣性的錯誤。
一直以來都是后臺寫單元測試,這周初次使用前臺單元測試,出錯是必然的
問題使用自己寫的組件或者管道是報錯

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

使用框架中自帶的組件

需要在前臺單元測試spec.ts文件中加入報錯信息提示的組件,例如:
[object ErrorEvent] thrown [對象 錯誤事件] 被拋出

這個錯誤是遇到次數(shù)最多的,當時出現(xiàn)這個錯誤時和張喜碩組長研究查資料搞了大半宿也沒解決,最后還是在潘老師的幫助下解決的,得知ng test 時控制臺報錯的哪個文件,不一定是這個文件出錯,解決辦法如下:
打開單元測試時自動彈出來瀏覽器的控制臺

控制臺中,由于http發(fā)起請求時,必然發(fā)生錯誤,所以有很多個錯誤,但是導致單元測試不通過的,只有那些發(fā)生了異常,我們沒有傳入error的

找到Uncaught,點開HttpErrorResponse看一下對應(yīng)service中的那個服務(wù)
在對應(yīng)的服務(wù)中找到,找到方法(在方法名上右鍵Find Usages )看誰調(diào)用了我。

在訂閱的時候,要加入error異常錯誤

加上之后問題解決,單元測試通過。
總結(jié)
單元測試從長期來看,可以提高代碼質(zhì)量,減少維護成本,降低重構(gòu)難度。但是從短期來看,加大了工作量,對于進度緊張的項目中的開發(fā)人員來說,可能會成為不少的負擔。
但是我這里有個疑問:
angular單元測試都是用命令行自動生成的,測試和不測試有什么區(qū)別?感覺加了測試反而更麻煩
相關(guān)文章
詳解Angular 4.x 動態(tài)創(chuàng)建組件
本篇文章主要介紹了詳解Angular 4.x 動態(tài)創(chuàng)建組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
Angular實現(xiàn)模版驅(qū)動表單的自定義校驗功能(密碼確認為例)
這篇文章主要介紹了Angular實現(xiàn)模版驅(qū)動表單的自定義校驗功能(密碼確認為例),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-05-05
Angularjs中的事件廣播 —全面解析$broadcast,$emit,$on
下面小編就為大家?guī)硪黄狝ngularjs中的事件廣播 —全面解析$broadcast,$emit,$on。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧2016-05-05
基于Angular.js實現(xiàn)的觸摸滑動動畫實例代碼
這篇文章主要介紹了基于Angular.js實現(xiàn)的觸摸滑動動畫實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02

