Комментарии 6
«запросы, превышающие квоту, завершались ошибкой немедленно» — это всего лишь один из подходов тротлинга. Абсолютно допустимой альтернативой является блокировка и ожидания освобождения ресурсов. Такой сценарий между прочим является более интересным.
При тестировании асинхронного кода достаточно часто есть потребность в определенном порядке потоков для определенного теста. Если не применять никакой синхронизации, получим нестабильные тесты, которые иногда отрабатывают, а иногда падают.
Мне кажется, или вы перевернули все с ног на голову? Если тесты падают при случайном порядке выполнения потоков — эначит вы тестируете что-то, что зависит от этого порядка. Поскольку в рабочей программе порядок не определен — она заведомо может работать не так. И что толку в таких тестах?
Представьте, что вы тестируете просто цикл, некий итерационный численный алгоритм, при этом ваш тест зависит от числа повторений. Мне кажется, это какой-то неправильный тест, нет?
Нужно поискать инвариант, который не зависит от порядка выполнения, и проверить, что он правилен.
Опять костыль на КДПВ.
Вы не могли бы где-то пометить, что код представлен на Scala? Если кто-либо не знаком с синтаксисом, это будет удобно, чтобы найти нужную документацию.
цююцУ ц чцыс j kkek. wk
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Тестируем асинхронный код