unit單元測試和e2e端到端測試的區別

前端實現自動化就要藉助到unit和e2e端到端測試了

一.unit測試
站在程序員的角度測試
unit測試是把代碼看成是一個個的組件。從而實現每一個組件的單獨測試,測試內容主要是組件內每一個函數的返回結果是不是和期望值一樣。
例如:

const compare = (a,b) => a>b?a:b
對這個函數進行測試
expect(compare(1,2)).to.equal(2) //ok
expect(compare(2,1)).to.equal(1) //ok
測試完成
而代碼覆蓋率是指代碼中每一個函數的每一中情況的測試情況,上述測試的代碼覆蓋率是100%

const compare = (a,b) => a>b?a:b
對這個函數進行測試
expect(compare(2,1)).to.equal(1) //ok
測試完成
這樣代碼覆蓋率是50%,因爲else情況沒有測試到

二.e2e測試
站在用戶角度的測試
e2e測試是把我們的程序堪稱是一個黑盒子,我不懂你內部是怎麼實現的,我只負責打開瀏覽器,把測試內容在頁面上輸入一遍,看是不是我想要得到的結果。

兩者的存在都是很有意義的。
unit測試是程序員寫好自己的邏輯後可以很容易的測試自己的邏輯返回的是不是都正確。
e2e代碼是測試所有的需求是不是都可以正確的完成,而且最終要的是在代碼重構,js改動很多之後,需要對需求進行測試的時候測試代碼是不需要改變的,你也不用擔心在重構後不能達到客戶的需求。

作者:我不叫奇奇
鏈接:https://www.jianshu.com/p/ffd6d319f05b
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章