我正在使用graphql工具模拟我的UI (创建-反应-应用)功能测试。我有一个关于MockList的问题
目前,我是按类型模拟的,其中一个属性是数组,但我仍然需要能够自定义列表中的元素
例如,我有一个LineItem类型,它有一个定义为
const LineItem = () =>
({
name: 'Item name'
} as LineItemType)购物车类型有一个LineItem列表
const Cart = () =>
({
id: 'cart-id',
lineItems: [...new Array(2)],
} as ActiveCartType)有没有办法让购物车中的两种商品名称不同?
我尝试像这样在数组上进行映射
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。我是不是漏掉了什么?
发布于 2021-07-17 22:32:58
我们使用
,一个用于JavaScript的假数据生成器,这样每次调用字段时,我们都可以得到不同的结果。如果您计划使用数据进行测试,您可能希望使用假对象的集合,或者始终使用一致种子的生成器。
从您的代码中,您可以将name分配给一个生成器函数,该生成器函数将唯一的名称添加到该字段。
const LineItem = () =>
({
name: functionGoesHere()
} as LineItemType)产生用于模拟的生成数据的两个库是,
https://stackoverflow.com/questions/68388959
复制相似问题