關於mock

關於mock

一、什麼是mock?

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

二、爲什麼要使用mock?

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

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

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

三、mock的優缺點分析

優點:

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

風險:
5. 測試的過程中,如果大量使用mock,會使mock測試的場景失去了真實性,可能會到接入真實數據的時候纔會發現缺陷,會造成後續修復成本較高。

最近在搞一個和前端程序員相關的公號,除了技術分享之外,也增加了對於職業發展、生活記錄之類的文章,歡迎大家關注,一起聊天、吐槽,一起努力工作,認真生活!

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