Cypress graphql apollo 调用没有给出结果并自动重试
Cypress graphql apollo call gives no result and retries automatically
问题是,我没有模拟,而是得到了一个带有未解决查询的加载屏幕,Cypress 多次尝试再次重新查询它,并且没有错误消息。
我正在使用 Quasar 测试工具中的 Cypress。我想模拟 graphql
通话。
在我的组件中,我有一个 apollo
查询:
apollo: {
assetsOverview: {
query: ASSETS_OVERVIEW,
loadingKey: 'loading'
}
}
为此,我以这种方式使用固定装置:
cy.intercept('POST', api, req => {
if (req.body.operationName === 'getAssetOverview') {
// This condition works just fine
req.reply({
fixture: 'asset-table.json'
})
}
})
我的夹具如下所示:
{
"assetsOverview": {
"assetMetrics": [
{
"assetId": "todo-conveyor",
"assetName": "Conveyor belts",
"childAssetIds": null,
"oeeMetrics": {
"availability": null,
"oee": null,
"performance": null,
"quality": null,
"__typename": "AssetOeeMetrics"
},
"stateMetrics": {
"blocked": null,
"failed": null,
"idle": null,
"running": null,
"stopped": null,
"__typename": "AssetStateMetrics"
},
"__typename": "AssetMetrics"
}
],
"__typename": "AssetMetricsOverview"
}
}
发现我必须将我的固定对象包装在 data
内。
像这样:
{
"data": {
"assetsOverview": {
"assetMetrics": [
...
]
}
}
}
问题是,我没有模拟,而是得到了一个带有未解决查询的加载屏幕,Cypress 多次尝试再次重新查询它,并且没有错误消息。
我正在使用 Quasar 测试工具中的 Cypress。我想模拟 graphql
通话。
在我的组件中,我有一个 apollo
查询:
apollo: {
assetsOverview: {
query: ASSETS_OVERVIEW,
loadingKey: 'loading'
}
}
为此,我以这种方式使用固定装置:
cy.intercept('POST', api, req => {
if (req.body.operationName === 'getAssetOverview') {
// This condition works just fine
req.reply({
fixture: 'asset-table.json'
})
}
})
我的夹具如下所示:
{
"assetsOverview": {
"assetMetrics": [
{
"assetId": "todo-conveyor",
"assetName": "Conveyor belts",
"childAssetIds": null,
"oeeMetrics": {
"availability": null,
"oee": null,
"performance": null,
"quality": null,
"__typename": "AssetOeeMetrics"
},
"stateMetrics": {
"blocked": null,
"failed": null,
"idle": null,
"running": null,
"stopped": null,
"__typename": "AssetStateMetrics"
},
"__typename": "AssetMetrics"
}
],
"__typename": "AssetMetricsOverview"
}
}
发现我必须将我的固定对象包装在 data
内。
像这样:
{
"data": {
"assetsOverview": {
"assetMetrics": [
...
]
}
}
}