Итак, этот вопрос все начался, когда я начал выполнять модульное тестирование для простой 2 строки postNotification
и addObserver
. Из этого аналогичного вопроса здесь вы можете видеть, что для проверки его необходимо добавить ~ 20 строк & часть от общего способа написав свой код.
Перед этой проблемой я впервые понял разницу между Unit Testing и TDD. Тестирование модулей легко, если ваш код можно проверить, т.е. Если вы следите за мышлением TDD. Затем меня привели к тому, как я могу написать тестовый код, который я не нашел много рекомендаций, каждый учебник просто перескакивает на запись unit test. Apple documentation не имеет для этого ничего.
Моя первоначальная мысль заключалась в том, что мне нужно стремиться к "функциональному программированию" и писать свои функции в чистой функции. Но опять же это очень трудоемко и может потребовать много рефакторинга в существующих кодах или даже для новых проектов много добавленных строк, и я даже не уверен, что это правильный подход. Существуют ли какие-либо предлагаемые рекомендации или стандарты для простого написания проверяемого кода?
Я уже знаю себя: Я знаю, что вы не должны писать какой-либо код, если нет теста для его отказа, так что в основном я должен сначала написать тест, и как только я получу ошибку, даже ошибку компилятора, тогда мне придется переключиться назад к тестируемому фактическому классу пишите все, что необходимо, и чтобы мой тестовый код не выдавал никаких ошибок, затем вернитесь к тестовому классу и продолжайте писать мой тест и исправлять ошибки компиляции до завершения. Затем запустите тест и проверьте, проверяет ли он, что я хочу проверить.
Для всех тестов я должен убедиться, что мои тесты пройдут и не будут выполняться точно там, где я ожидаю сбой, т.е. тест пройдет, когда ожидается, что он потерпит неудачу.
Я не знаю, как я могу сгладить процесс более простым способом.
Я не прошу написать тестовый код для NSNotificationCenter, я прошу об общих рекомендациях по написанию тестируемого кода.