【发布时间】:2018-01-18 22:22:38
【问题描述】:
为了在我的前端测试一些超时情况,我想在 mirage 中引入人为延迟,同时仅响应某些特定请求并立即响应所有其他情况。
我正在写这样的幻影场景
export default function () {
this.post('/ebm-anp/api/v1/json/sessions', (schema, request) => {
const req = JSON.parse(request.requestBody);
if ((req.card.value === '12345678' || req.card.value === '12345678-encrypted-value') && req.password === 'abc') {
return new Response(200, {'X-Auth-Token': '2704412f-7820-4431-86c1-1234567800'}, successResponse);
}else if (..){
}
}
}
在这篇文章中,Introduce momentary delays in ember-cli-mirage Sam 建议使用 {timing: 400};使用 call ,在我的示例中使用时,如下所示。
export default function () {
this.post('/ebm-anp/api/v1/json/sessions', (schema, request) => {
const req = JSON.parse(request.requestBody);
if ((req.card.value === '12345678' || req.card.value === '12345678-encrypted-value') && req.password === 'abc') {
return new Response(200, {'X-Auth-Token': '2704412f-7820-4431-86c1-1234567800'}, successResponse);
}else if (..){
}
},{timing: 400};
}
这基本上引入了对到达此端点的所有测试用例的调用延迟 - 这 不 符合我的目的。
有没有什么办法可以重构我的 Mirage 设置,以便我可以设置 定时(延迟)配置仅适用于某些情况,而其他情况则保持正常。
【问题讨论】: