天天看點

mock模拟接口測試 vue_使用Mock.js生成前端測試資料

mock模拟接口測試 vue_使用Mock.js生成前端測試資料

題圖 By HymChu From lnstagram

前端工程師在做前後端分離的項目的時,有時候接口未開發完成,或者開發環境不允許使用接口,這時候就需要前端工程師自己模拟資料了,模拟資料的方式有很多種,今天給大家介紹一款npm包,Mock.js。

首先我們要明白Mock.js的本質是攔截ajax請求,并傳回約定好的資料。資料需要根據開發者的需求結合Mock.js的文檔來定制,下面來看一下如何使用:

引入mock.js和JQuery

<script src="js/jquery-1.12.4.min.js">script> <script src="http://mockjs.com/dist/mock.js">script>
           

建立模拟Api,這裡需要結合需求按照文檔編寫,攔截Ajax請求,傳回測試資料,這裡面需要注意的是mock的第一個參數,指的是我們将來發送ajax要請求的接口位址:

//模拟背景    Mock.mock('http://api.com', {        "user|5-10": [{            'name': '@cname',   //中文名稱            'age|1-100': 100,   //100以内随機整數            'birthday': '@date("yyyy-MM-dd")',  //日期            'city': '@city(true)'   //中國城市        }]    });
           

發送ajax請求:

//JQuery方式    $.ajax({        url: 'http://api.com',        dataType: 'json'    }).done(function(data, status, xhr) {        console.log(            JSON.stringify(data, null, 4)        )    });
           

這裡也可以用原生的ajax請求,隻要是用XMLhttprequest的執行個體發送的請求,都會被Mock.js攔截,諸如axios、vue-resurce等等。

看一下響應結果:

{    "user": [        {            "name": "锺麗",            "age": 17,            "birthday": "1983-11-01",            "city": "内蒙古自治區 赤峰市"        },        {            "name": "陳豔",            "age": 25,            "birthday": "1973-07-10",            "city": "河南省 駐馬店市"        },        {            "name": "馮霞",            "age": 59,            "birthday": "2010-10-28",            "city": "澳門特别行政區 離島"        },        {            "name": "賈秀英",            "age": 63,            "birthday": "1973-01-22",            "city": "新疆維吾爾自治區 伊犁哈薩克自治州"        },        {            "name": "周勇",            "age": 34,            "birthday": "1985-05-21",            "city": "湖南省 衡陽市"        }    ]}
           

以上便是mock的使用。

資料引用:

https://www.jianshu.com/p/8453b045544f

http://mockjs.com/

mock模拟接口測試 vue_使用Mock.js生成前端測試資料

歡迎大家關注、轉發、點選好看

下一篇: TestNG簡介