Я использую следующий шаблон на некоторое время:Тестирования strongSelf охранника в Swift
closure() { [weak self] in
guard let strongSelf = self else {
return
}
// Do some real work here
}
Есть ли способ, чтобы проверить заявление возвращения внутри охранника? Или я просто глупо преследую 100% -ный охват кода?
Кроме того, я понимаю, что я мог бы просто использовать if/let вместо охраны/let. Мой вопрос касается сценария охраны/разрешения.
Настройте тестовый блок, в котором используется объект, которому принадлежит это закрытие, затем отпустите его, затем запустите это закрытие и убедитесь, что он не выполняет остальную часть своей функции. Или вместо этого вы можете попытаться просто написать хороший код, не разбавляя свою кодовую базу в погоне за произвольными метрическими целями. – Alexander
Для чего вы используете этот шаблон? Разве это за нарушение сильных эталонных циклов? – Deyton
@Deyton Да, это за нарушение сильных эталонных циклов. Фактический код, который я реализую, более существенный и использует Reactive framework, но этот пример кода должен работать одинаково. –