第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何部分測試 json 對象的形狀和部分測試值

如何部分測試 json 對象的形狀和部分測試值

白衣染霜花 2023-07-14 14:56:21
我想在我的摩卡期望中測試我的 json 的形狀。我知道一些東西,例如“名稱”,但其他東西(_id)來自數(shù)據庫。對于他們來說,我只關心他們設置正確的類型。在這里我有我的期望:expect(object).to.eql({  recipe:  {    _id: '5fa5503a1fa816347f3c93fe',    name: 'thing',    usedIngredients: []  }})如果可能的話我寧愿做這樣的事情:expect(object).to.eql({  recipe:  {    _id: is.a('string'),    name: 'thing',    usedIngredients: []  }})有誰知道有什么方法可以實現(xiàn)這一目標?或者最好將其分解為多個測試?
查看完整描述

1 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

您可以使用chai-json-pattern插件來做到這一點。

Chai JSON 模式允許您為 JavaScript 對象創(chuàng)建藍圖,以確保關鍵信息的驗證。它使您能夠使用 JSON 語法擴展和易于使用的驗證器。它主要用于使用 cucumber-js 測試 API,但可以在任何應用程序中使用。此外,您可以使用自定義驗證器擴展基本功能

例如

const chai = require('chai');

const chaiJsonPattern = require('chai-json-pattern').default;

chai.use(chaiJsonPattern);

const { expect } = chai;


describe('64715893', () => {

? it('should pass', () => {

? ? const object = {

? ? ? recipe: {

? ? ? ? _id: Math.random().toString(),

? ? ? ? name: 'thing',

? ? ? ? usedIngredients: [Math.random() + 'whatever'],

? ? ? },

? ? };

? ? expect(object).to.matchPattern(`{

? ? ? "recipe": {

? ? ? ? "_id": String,

? ? ? ? "name": "thing",

? ? ? ? "usedIngredients": Array,

? ? ? },

? ? }`);

? });

});

測試結果:


? 64715893

? ? ? should pass



? 1 passing (50ms)


查看完整回答
反對 回復 2023-07-14
  • 1 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號