Angular單元測試總結

一直以來都是後臺寫單元測試,這周初次使用前臺單元測試,出錯是必然的瀏覽器

問題

  • 使用本身寫的組件或者管道是報錯

clipboard.png

須要在前臺單元測試spec.ts文件中加入本身寫的組件或管道,例如:框架

clipboard.png

  • 使用框架中自帶的組件

clipboard.png

須要在前臺單元測試spec.ts文件中加入報錯信息提示的組件,例如:單元測試

  • [object ErrorEvent] thrown [對象 錯誤事件] 被拋出

clipboard.png

這個錯誤是遇到次數最多的,當時出現這個錯誤時和張喜碩組長研究查資料搞了大半宿也沒解決,最後仍是在潘老師的幫助下解決的,得知ng test 時控制檯報錯的哪一個文件,不必定是這個文件出錯,解決辦法以下:測試

  1. 打開單元測試時自動彈出來瀏覽器的控制檯

    clipboard.png

    控制檯中,因爲http發起請求時,必然發生錯誤,因此有不少個錯誤,可是致使單元測試不經過的,只有那些發生了異常,咱們沒有傳入error的spa

    clipboard.png

    找到Uncaught,點開HttpErrorResponse看一下對應service中的那個服務命令行

  2. 在對應的服務中找到,找到方法(在方法名上右鍵Find Usages )看誰調用了我。

    clipboard.png

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

    clipboard.png

加上以後問題解決,單元測試經過。code

總結

單元測試從長期來看,能夠提升代碼質量,減小維護成本,下降重構難度。可是從短時間來看,加大了工做量,對於進度緊張的項目中的開發人員來講,可能會成爲很多的負擔。對象

可是我這裏有個疑問:事件

angular單元測試都是用命令行自動生成的,測試和不測試有什麼區別?感受加了測試反而更麻煩ip

相關文章
相關標籤/搜索