Понимайте и сокращайте время выполнения тестов с помощью пакета ConcurrencyExtras в Swift.IOS

Программируем под IOS
Anonymous
Понимайте и сокращайте время выполнения тестов с помощью пакета ConcurrencyExtras в Swift.

Сообщение Anonymous »

В моем приложении для модульного тестирования наша команда сильно полагается на инструмент для выполнения асинхронного теста — ConcurrencyExtras — withMainSerialExecutor
Этот инструмент добавляет возможность запуска тестового кода в основном потоке, а также мы могли бы добавить блок await Task.yield(), чтобы дождаться завершения какой-либо длительной операции
Он работает хорошо, но кажется, что время выполнения тестов увеличилось, и я хочу его сократить исполнение время.
Пока что здесь предлагается только единственное решение, которое я нашел: добавить

Код: Выделить всё

override func invokeTest() {
withMainSerialExecutor {
super.invokeTest()
}
}
В начале каждого теста и везде удаляйте с помощью MainSerialExecutor.
Это работает, и теперь мои асинхронные тесты выполняются быстрее.
Мой вопрос: почему это сократило время выполнения асинхронных тестов? По сути, я заставил каждый тест выполняться в основном потоке, но добавленный вручную блок withMainSerialExecutor сделал то же самое. Может быть, у кого-то есть другое решение, позволяющее сократить время выполнения асинхронного теста?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ge-in-swif

Вернуться в «IOS»