【发布时间】:2018-10-15 06:31:05
【问题描述】:
我将数据发送到服务器并将返回的数据与发送的数据匹配。如果使用 expect.arrayContaining(array) 来比较选项和嵌套变体,它会发誓添加 db 的 id 和字段。如何将对象与包含对象数组的数组进行比较?
要发送的数据:
{
"name": "red dress",
"options": Array [
Object {
"name": "size",
"variants": Array [
Object {
"name": "M",
},
Object {
"name": "L",
},
Object {
"name": "S",
},
],
},
],
}
返回数据:
{
"id": "dc67efd8-dcc4-43df-a8eb-9d95ea641749",
"name": "red dress",
"options": Array [
Object {
"id": 1,
"name": "size",
"productId": "dc67efd8-dcc4-43df-a8eb-9d95ea641749",
"variants": Array [
Object {
"id": 1,
"name": "M",
"optionId": 1,
},
Object {
"id": 5,
"name": "S",
"optionId": 1,
},
Object {
"id": 6,
"name": "L",
"optionId": 1,
},
],
},
],
}
测试:
expect(body.data).toMatchObject(productData)
【问题讨论】:
-
下面的答案不是我想要的。然而,这完美地解决了这个问题并提供了两个解决方案:Jest 中您需要什么,以及如果您在多个测试中需要此功能,如何扩展 Jest medium.com/@andrei.pfeiffer/…
标签: javascript node.js jestjs