首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义针对graphql-tools中的类型定义的模拟数据

自定义针对graphql-tools中的类型定义的模拟数据
EN

Stack Overflow用户
提问于 2021-07-15 14:31:41
回答 1查看 45关注 0票数 0

我正在使用graphql工具模拟我的UI (创建-反应-应用)功能测试。我有一个关于MockList的问题

目前,我是按类型模拟的,其中一个属性是数组,但我仍然需要能够自定义列表中的元素

例如,我有一个LineItem类型,它有一个定义为

代码语言:javascript
复制
const LineItem = () =>
  ({
    name: 'Item name'
  } as LineItemType)

购物车类型有一个LineItem列表

代码语言:javascript
复制
const Cart = () =>
  ({
    id: 'cart-id',
    lineItems: [...new Array(2)],
  } as ActiveCartType)

有没有办法让购物车中的两种商品名称不同?

我尝试像这样在数组上进行映射

代码语言:javascript
复制
const Cart = () =>
  ({
    id: 'cart-id',
    lineItems: [...new Array(2)].map(i => ({...i, id: '123', name: 'new item name'})),
  } as ActiveCartType)

但是name在模拟结果中不会改变。它仍然设置为Item name。只有id更改为123。我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-07-17 22:32:58

来自graphql-tools/mocking的文档

我们使用

,一个用于JavaScript的假数据生成器,这样每次调用字段时,我们都可以得到不同的结果。如果您计划使用数据进行测试,您可能希望使用假对象的集合,或者始终使用一致种子的生成器。

从您的代码中,您可以将name分配给一个生成器函数,该生成器函数将唯一的名称添加到该字段。

代码语言:javascript
复制
  const LineItem = () =>
  ({
    name: functionGoesHere()
  } as LineItemType)

产生用于模拟的生成数据的两个库是,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68388959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档