Транспортир - при возникновении ошибки тайм-аута асинхронного обратного вызова - PullRequest
0 голосов
/ 22 января 2019

Во время записи тестового кода иногда я получаю очень высокую ошибку: -Error: Timeout - асинхронный обратный вызов не был вызван в течение времени ожидания, указанного в jasmine.DEFAULT_TIMEOUT_INTERVAL . После борьбы за исправление этой ошибки я тут и там нашел некоторые решения, такие как Увеличение значения интервала времени, функция Call done () в конце блока кода и т. Д. , но ничего работает для меня.

Я хотел бы знать, когда эта ошибка возникает сейчас, чтобы узнать точную причину.

1 Ответ

0 голосов
/ 22 января 2019

Это очень распространенное сообщение, когда вы имеете дело с async/await. Примерно на 80% это означает, что вы где-то забыли оператор await, а остальные 20 - это некоторая ошибка в ваших тестах, которая требует глубокого анализа. Вы можете использовать следующие советы для улучшения процесса отладки

1) Показать дополнительную информацию об ошибке - поместите ее в файл конфигурации транспортира.

process.on('unhandledRejection', ({ message }) => {
  console.log('\x1b[36m%s\x1b[0m', `Unhandled rejection: ${message}`);
});

2) Установите плагин "protractor-console", чтобы убедиться, что в консоли браузера нет ошибок / отклонений (то есть исключите возможность возникновения проблем со стороны вашего приложения) и добавьте в свою конфигурацию

plugins: [{
    package: "protractor-console",
    logLevels: [ "severe" ]
}]

3) Отладка ваших тестов с помощью Chrome, как показано в официальном руководстве

4) Используйте HtmlScreenshotReporter - этот отчет создает действительно хороший отчет, хорошо структурированный и интуитивно понятный

Это инструменты, которые могут помочь вам определить проблемы. Я удалил все свои Async callback was not invoked within timeout specified by jasmine уведомления только тогда, когда потратил некоторое время на отладку каждого конкретного теста, который у меня был. Это единственная рекомендация, которую я могу дать вам, не просматривая ваш код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...