Как я могу остановить все текущие запросы Ajax, запущенные экземпляром DataTables?
Сброс тестового сервера в известное состояние приводит к сбою моих тестов из-за того, что запросы Ajax, запускаемые экземплярами DataTables, выполняются во время сброса сервера. Я хотел бы предотвратить это, остановив запросы DataTables до перезагрузки сервера.
Подробное описаниеУ меня есть приложение, в котором я использую DataTables на некоторых страницах. Все эти DataTables выполняют запросы на стороне сервера для заполнения своих таблиц.
Когда я выполняю тестирование системы, иногда может возникнуть состояние гонки:
Тестовый запуск запускает тестовый сервер.
Организатор теста загружает в браузере тестов страницу с экземпляром DataTable где-то на нем.
Тестовый прогон запускает тест, который выполняет его проверки и завершается.
Запуск теста сбрасывает тестовый сервер до известного состояния для следующего теста.
На странице появляется предупреждение о том, что в DataTables произошла ошибка Ajax. В предупреждении говорится:
Предупреждение DataTables: идентификатор таблицы = [некоторый идентификатор] - ошибка Ajax. Для получения дополнительной информации об этой ошибке, пожалуйста, см.http://datatables.net/tn/7
Моя система тестирования, которая не ожидает оповещения, сбита с толку и регистрирует сбой, даже если тест был на самом деле успешным. (Или в некоторых случаях происходит сбой.)Я знаю, что это происходит потому, что сервер внезапно прервал запрос Ajax. То, что я ищу, - это способ предотвратить появление оповещения. Я хотел бы остановить все текущие запросы DataTablesдо сервер сброшен
Решения уже отклоненыСкажите экземплярам DataTables не использовать оповещения: я хочу, чтобы мои тесты не выполнялись, если экземпляр DataTables сталкивается с проблемой, не связанной с перезагрузкой тестового сервера.
Модификация тестового сервера: я предпочитаю сохранять сервер простым и не беспокоитьсятам о запросах, которые могут остаться без ответа.
Ожидание завершения всех запросов на стороне клиента: это может значительно замедлить тестирование, особенно когда это ожидание повторяется для десятков тестов.
Направьте тестовый браузер на новую страницу без DataTables, так как это прервет текущие запросы: снова это снизит производительность теста.