Вопрос проверяет контроль количества вызовов и защиту от дублирующих событий.
Для этого в mock-объекте считают количество вызовов. После выполнения тестируемого кода проверяется, что счетчик равен единице. Такой подход позволяет обнаружить дублирующие вызовы. Это особенно важно для аналитики и логирования. Проверка выполняется через assertion.
Проверка количества вызовов — распространенная задача в unit-тестах.
В mock-объекте заводится счетчик.
final class AnalyticsMock: AnalyticsTracking {
private(set) var callCount = 0
func track(event: String) {
callCount += 1
}
}
После выполнения тестируемого кода:
Проверяется значение счетчика
Убеждаемся, что вызов был один
Исключаем повторные события
Дублирующие события:
Искажают аналитику
Увеличивают трафик
Усложняют анализ данных
Подсчет вызовов — простой и надежный способ убедиться, что аналитическое событие отправляется ровно один раз.