前后端分離架構(gòu)中接口測(cè)試最佳實(shí)踐

背景

你是否遇到過這種情況:前后端分離體系中,后端開發(fā)人員通知你接口有改動(dòng)谐腰,前端代碼需要做相應(yīng)調(diào)整孕豹。but,改了啥沒有明確說明十气,這時(shí)候需要一個(gè)個(gè)頁面去點(diǎn)擊励背,一個(gè)個(gè)按鈕去人肉測(cè)試,好不費(fèi)事桦踊。

接口變動(dòng)主要分兩種:

  • 接口名稱變化(導(dǎo)致接口請(qǐng)求失斠我啊)终畅;
  • 接口返回的數(shù)據(jù)結(jié)構(gòu)變化(添字段或者刪字段)籍胯。

通過編寫測(cè)試代碼,只要輸入 npm run test 即可自動(dòng)測(cè)試接口是否正常离福,這是本文要解決的問題杖狼。

tein

讀音:[tai-ing](test-interface,取兩個(gè)單詞前兩個(gè)字符組成)妖爷,一個(gè)簡(jiǎn)短的接口測(cè)試腳本蝶涩。本來想拿現(xiàn)成的測(cè)試框架 Jest 在上面修修改改理朋,后來想了想要做的事非常簡(jiǎn)單,代碼全部碼好也不超過 400 行绿聘。

思路:

  • 提前寫好接口返回?cái)?shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)嗽上。tein 提供命令行工具 $ tein ui ,會(huì)創(chuàng)建一個(gè)網(wǎng)頁自動(dòng)轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)熄攘;
  • 內(nèi)部利用 axios 發(fā)請(qǐng)求判斷接口名稱是否變化兽愤,請(qǐng)求失敗八成是接口名字又改了;
  • 接口請(qǐng)求成功后挪圾,將返回值再一次進(jìn)行數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換浅萧,與第一步寫好的結(jié)構(gòu)進(jìn)行對(duì)比,判斷是否變化哲思。
transform.gif

運(yùn)行效果如下洼畅,有字段修改的會(huì)以不同顏色標(biāo)識(shí)出來,方便定位棚赔。

dein.gif

如果你的項(xiàng)目也需要對(duì)接口進(jìn)行測(cè)試帝簇,不妨體驗(yàn)一波。=> tein quick-start靠益。

對(duì)于 outh2 請(qǐng)求己儒,需要先拿到 token,之后每個(gè)請(qǐng)求都需要攜帶 token 進(jìn)行請(qǐng)求捆毫,tein 也做了相應(yīng)處理闪湾。具體 demo 參考 fixture-object-oauth2issue#1

有更好的處理方式绩卤,歡迎下方留言途样。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市濒憋,隨后出現(xiàn)的幾起案子何暇,更是在濱河造成了極大的恐慌,老刑警劉巖凛驮,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件裆站,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡黔夭,警方通過查閱死者的電腦和手機(jī)过牙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門亚亲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事疚鲤】湍辏” “怎么了屡谐?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)魂爪。 經(jīng)常有香客問我,道長(zhǎng)艰管,這世上最難降的妖魔是什么滓侍? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮牲芋,結(jié)果婚禮上粗井,老公的妹妹穿的比我還像新娘。我一直安慰自己街图,他們只是感情好浇衬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著餐济,像睡著了一般耘擂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上絮姆,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天醉冤,我揣著相機(jī)與錄音,去河邊找鬼篙悯。 笑死蚁阳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸽照。 我是一名探鬼主播螺捐,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼矮燎!你這毒婦竟也來了定血?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤诞外,失蹤者是張志新(化名)和其女友劉穎澜沟,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體峡谊,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茫虽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了既们。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片濒析。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖贤壁,靈堂內(nèi)的尸體忽然破棺而出悼枢,到底是詐尸還是另有隱情,我是刑警寧澤脾拆,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布馒索,位于F島的核電站,受9級(jí)特大地震影響名船,放射性物質(zhì)發(fā)生泄漏绰上。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一渠驼、第九天 我趴在偏房一處隱蔽的房頂上張望蜈块。 院中可真熱鬧,春花似錦迷扇、人聲如沸百揭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽器一。三九已至,卻和暖如春厨内,著一層夾襖步出監(jiān)牢的瞬間祈秕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工雏胃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留请毛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓瞭亮,卻偏偏與公主長(zhǎng)得像方仿,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子统翩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,931評(píng)論 2 89
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,101評(píng)論 1 32
  • 前言 雖然一個(gè)api接口的業(yè)務(wù)兼丰,數(shù)據(jù)邏輯是后端提供的,但真正使用這個(gè)接口的是客戶端唆缴,一個(gè)前端功能的實(shí)現(xiàn)流程與邏輯鳍征,...
    Snapeliu閱讀 2,962評(píng)論 1 14
  • 我深知做人的道理,受人滴水之恩當(dāng)以涌泉相報(bào)面徽。 所以剛才小便旁邊那家伙不小心濺我腳上一滴時(shí)艳丛,我轉(zhuǎn)身卯足勁尿了他一身。
    嘻哈段子閱讀 534評(píng)論 0 0
  • 五月十七日趟紊,星期四氮双,雷陣雨■伲看來夏天真的來了戴差,兩天雷陣雨一掃莒城的悶熱干燥,世界一片郁郁蔥蔥铛嘱。萬事有利就有弊暖释,可苦...
    張浩霖爸爸閱讀 204評(píng)論 0 0