Vue進階(十三):MOCK

      網友投稿 767 2025-04-06

      簡介

      mock是一個模擬數據生成器,旨在幫助前端獨立于后端進行開發,幫助編寫單元測試。其可模擬 Ajax 并返回模擬數據,使前端不用去調用后端的接口,方便測試。

      官網: http://mockjs.com/0.1/#mock

      應用

      安裝mock

      npm install mockjs

      1

      引用

      在main.js中引用

      // main.js require('./mock');

      1

      2

      服務注冊

      在mock文件夾下創建index.js文件,這里就是我們注冊所有mock服務的地方

      // 首先引入Mock const Mock = require('mockjs'); // 設置攔截ajax請求的相應時間 Mock.setup({ timeout: '200-600' }); let configArray = []; // 使用webpack的require.context()遍歷所有mock文件 const files = require.context('.', true, /\.js$/); files.keys().forEach((key) => { if (key === './index.js') return; configArray = configArray.concat(files(key).default); }); // 注冊所有的mock服務 configArray.forEach((item) => { for (let [path, target] of Object.entries(item)) { let protocol = path.split('|'); Mock.mock(new RegExp('^' + protocol[1]), protocol[0], target); } });

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      mock

      Mock.mock() 支持5 種參數格式以及語法規范,詳情請異步MOCK官網查詢,以下僅以

      Mock.mock( rurl?, rtype?, template ) ) // 或者 Mock.mock( rurl, rtype, function( options ) )

      1

      2

      3

      方式生成模擬數據。

      在mock文件夾下隨便創建一個文件demoList.js

      在該文件中,我們可以按照index注冊服務的格式來寫我們的mock

      let demoList = [{ id: 1, name: 'zs', age: '23', job: '前端工程師' },{ id: 2, name: 'ww', age: '24', job: '后端工程師' }] export default { 'get|/parameter/query': option => { return { status: 200, message: 'success', data: demoList }; } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      當我們在頁面發起了ajax請求,路徑是’/parameter/query’,并且請求方式是get時,就會返回我們寫好的mock數據。

      我們也可以使用template返回,方式如下:

      let demoList = { status: 200, message: 'success', data: [{ id: 1, name: 'zs', age: '23', job: '前端工程師' },{ id: 2, name: 'ww', age: '24', job: '后端工程師' }] } export default { 'get|/parameter/query': demoList }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      Vue進階(十三):MOCK

      12

      13

      14

      15

      16

      17

      18

      當我們想要展示大量數據時,不可能一個一個的寫,那樣又費時又費力,這是我們就可以根據mockjs的語法規范來快速生成一系列的數據。

      let demoList = { status: 200, message: 'success', data: { total: 100, 'rows|10': [{ id: '@guid', name: '@cname', 'age|20-30': 23, 'job|1': ['前端工程師', '后端工程師', 'UI工程師', '需求工程師'] }] } }; export default { 'get|/parameter/query': demoList }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      這樣我們就可以每次隨機生成10條數據,總數為100條,其中id和name使用的占位符,age是隨機取出20-30中的數字,job是隨機取出其后數組中的某一項,這在mock文檔里都有說明。

      附 測試分類

      前端的測試主要有兩種,單元測試和E2E測試。

      單元測試:按空間切割,對每個組件進行測試

      比如,我要測試日期輸入框,那么我編寫的測試用例應該包括以下部分:

      默認日期是否為當天

      當用戶選擇日期范圍,data是否會做相應改變

      ...

      E2E測試:按時間切割,對每個流程進行測試

      比如,我要測試搜索功能,那么我編寫的測試用例應該模擬以下步驟:

      打開主頁

      點擊菜單跳轉到詳情頁

      輸入搜索條件

      點擊搜索

      查看搜索結果是否與預期一致

      Vue web前端

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:WPS表格辦公刪除自動分頁符的虛線(wps取消分頁虛線)
      下一篇:Word中利用+、-的精妙繪表技巧(word2010繪制表格的三種方法)
      相關文章
      亚洲日本韩国在线| 国产亚洲情侣久久精品| 国产亚洲高清不卡在线观看| 亚洲精品美女久久久久99小说| 亚洲色大成WWW亚洲女子| 亚洲中文字幕无码av永久| 亚洲最大的黄色网| 亚洲最大的黄色网| 亚洲人成77777在线播放网站不卡| 亚洲色欲色欲www| 一本色道久久88—综合亚洲精品| 亚洲粉嫩美白在线| 亚洲男同gay片| 在线观看亚洲专区| 亚洲国产成人精品女人久久久 | 亚洲福利视频一区二区| 精品韩国亚洲av无码不卡区| 精品韩国亚洲av无码不卡区| 亚洲国产精品日韩专区AV| 亚洲欧洲日本在线| 一本色道久久综合亚洲精品| 最新精品亚洲成a人在线观看| 亚洲色大成网站WWW久久九九| 国产亚洲无线码一区二区| 亚洲AV无码一区二区三区DV| 日韩亚洲AV无码一区二区不卡| 亚洲精品自产拍在线观看动漫| 久久亚洲精品中文字幕| 亚洲欧洲日产专区| 亚洲午夜一区二区三区| 亚洲大码熟女在线观看| 亚洲精品无码专区久久同性男| 亚洲欭美日韩颜射在线二| 亚洲AV人无码激艳猛片| 亚洲精品在线播放视频| 亚洲视频无码高清在线| 国产成人亚洲毛片| 亚洲日产韩国一二三四区| 97亚洲熟妇自偷自拍另类图片| 亚洲国产成人久久精品app| 亚洲日韩一中文字暮|