關於mock

關於mock

1、什麼是mock?

通俗來說,在開發和測試過程當中,因爲環境不穩定或者協同開發的同事未完成等狀況下,有些數據不容易構造或者不容易獲取,就建立一個虛擬的對象或者數據樣本,用來輔助開發或者測試工做。減輕了對於協同模塊的依賴,使開發以及測試變得更加獨立。後端

2、爲何要使用mock?

如今的不少項目,基本都是劃分爲一個個小模塊進行的,各個模塊相互依賴,須要協同進行。可是實際開發過程當中,因爲各類緣由,某些模塊在當下多是不可用的,這就對耦合較高的協同模塊會產生不良影響,而使用mock,製造模擬數據,能夠減輕這種負面因素。前後端分離

以下的一些場景,可使用mock很大程度上減輕這些負面影響。測試

  1. 所須要數據難以獲取(好比後端接口沒寫好,異常、特殊場景的數據):這些特殊狀況和場景下,可能生成一段真實數據很浪費時間,或者當下作不到。而使用mock比真實數據方便不少,此時mock就至關於真實接口數據的替代品,輔助其餘相關聯模塊的開發;
  2. 先後端分離,並行開發:先後端商定好接口標準後,按照統一的標準進行同時開發,規避對互相的依賴,減小時間浪費;
  3. 先後端分離中,對於某些特殊接口,可能不能實際執行,否則會對數據形成污染,此時能夠mock一個返回數據,規避此狀況,而又不影響實際開發;
  4. 自動化測試:若是在自動化測試中,出現了第三方數據不穩定或者其餘狀況,會影響測試進度,以及不方便定位問題所在。此時若是利用mock技術,模擬一種其餘模塊都是正常的場景,專門測試當前模塊,能夠減輕這種異常狀況的干擾,方便定位問題;而且能夠本身創造各類不一樣的數據,方便覆蓋測試的各類狀況。

3、mock的優缺點分析

優勢:對象

  1. 將本模塊經過mock隔離起來,避免由於其餘模塊的問題,致使自身模塊出現異常;
  2. 先後端分離式開發中,經過制定好的接口規範,並行開發,提升整體開發效率;
  3. 測試過程當中,所依賴的模塊異常時,可使用mock數據替代,不影響測試進度;
  4. 對於一些難構建的數據,可使用mock來模擬;

風險:接口

  1. 測試的過程當中,若是大量使用mock,會使mock測試的場景失去了真實性,可能會到接入真實數據的時候纔會發現缺陷,會形成後續修復成本較高。
相關文章
相關標籤/搜索