Я использую ember-cli-mirage для приемочных испытаний. В конкретном случае я хотел бы проверить поведение при извлечении данных по медленному соединению.Ввести кратковременные задержки в ember-cli-mirage
В настройке ember-cli-mirage есть timing
, который имитирует задержку в ответе. Тем не менее, этот параметр не может быть изменен, чтобы отличаться в конкретном тесте:
// app/mirage/config.js
this.timing = 400;
Что-то еще я попытался возвращается обещание на поддельной конечной точке. Через некоторый импорт/экспорт я мог бы контролировать разрешение обещания из своего теста. К сожалению, уголек-кли-мираж, кажется, не признают возвращаемое значение как обещание, и просто передает его обратно к адаптеру: Verbatim
// app/mirage/config.js
this.get('/StopPoint/Search/:term', (db, request) => {
return freezer.run(function() {
return db[`stop-point-search-${request.params.term}`][0];
});
});
// At my test
freezer.on()
runTests()
freezer.off()
Вопрос: есть ли способ сделать это? Т.е.: контролировать задержку конкретного ответа в ember-cli-mirage?
Хм, это работает, но я не уверен, действительно ли это полезно. Из-за того, что цикл цикла подключен, я не могу проверить, что происходит в этот промежуточный период, пока приложение ожидает ответа: -/Конечно, мое понимание цикла запуска отсутствует, поэтому я могу что-то не хватает? – pablobm
Какой код в приложении выполняет сетевой запрос? Модель крюка на маршруте? –
Нет, это в контроллере. Это поисковый запрос, и поисковый запрос сопоставляется с аргументом запроса. – pablobm