前端實現自動化就要借助到unit和e2e端到端測試了
一.unit測試(FT 就是Fucntion Test 功能測試, 注意不是: funciton函數 ...fucntion功能 不一樣哦 )
站在程序員的角度測試
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或者端到端(end-to-end)或者UI測試是一種測試方法,我不懂你內部是怎么實現的,它用來測試一個應用從頭到尾的流程是否和設計時候所想的一樣。我只負責打開瀏覽器,把測試內容在頁面上輸入一遍,看是不是我想要得到的結果。簡而言之,它從一個用戶的角度出發,認為整個系統都是一個黑箱,只有UI會暴露給用戶。
兩者的存在都是很有意義的。
unit測試是程序員寫好自己的邏輯后可以很容易的測試自己的邏輯返回的是不是都正確。
e2e代碼是測試所有的需求是不是都可以正確的完成,而且最終要的是在代碼重構,js改動很多之后,需要對需求進行測試的時候測試代碼是不需要改變的,你也不用擔心在重構后不能達到客戶的需求。