前端實現自動化就要藉助到unit和e2e端到端測試了javascript
站在程序員的角度測試
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%java
const compare = (a,b) => a>b?a:b 對這個函數進行測試 expect(compare(2,1)).to.equal(1) //ok 測試完成
這樣代碼覆蓋率是50%,由於else狀況沒有測試到程序員
站在用戶角度的測試
e2e或者端到端(end-to-end)或者UI測試是一種測試方法,我不懂你內部是怎麼實現的,它用來測試一個應用從頭至尾的流程是否和設計時候所想的同樣。我只負責打開瀏覽器,把測試內容在頁面上輸入一遍,看是否是我想要獲得的結果。簡而言之,它從一個用戶的角度出發,認爲整個系統都是一個黑箱,只有UI會暴露給用戶。瀏覽器
二者的存在都是頗有意義的。
unit測試是程序員寫好本身的邏輯後能夠很容易的測試本身的邏輯返回的是否是都正確。
e2e代碼是測試全部的需求是否是均可以正確的完成,並且最終要的是在代碼重構,js改動不少以後,須要對需求進行測試的時候測試代碼是不須要改變的,你也不用擔憂在重構後不能達到客戶的需求。函數