В показанном вами коде сильно доминируют взаимодействия. Что означает, что при юнит-тестировании, скорее всего, ошибок не будет найдено: потенциальные ошибки находятся на уровне взаимодействия: вы обращаетесь к conn.authorization
- но это правильный член? И есть ли у него уже правильное представление о том, что вам нужно в дальнейшем? requests.get
правильный метод для работы? Является ли порядок аргументов, как вы ожидаете? Возвращаемое значение соответствует ожидаемому? task_id
написано правильно?
Это (некоторые из) потенциальных ошибок в вашем коде. Но при модульном тестировании вы не сможете их найти: когда вы заменяете зависимые компоненты на некоторые макеты (которые вы создаете или настраиваете), ваши модульные тесты будут просто успешными: допустим, у вас неправильное представление о возвращаемое значение requests.get
, а именно то, что task_id
написано неправильно и скорее должно быть написано taskId
. Если вы будете издеваться над requests.get
, вы будете реализовывать эту ложь, основываясь на своем заблуждении. То есть, ваш макет вернул бы карту с (ошибкой) ключом task_id
. Тогда юнит-тест завершится успешно, несмотря на ошибку.
Эта ошибка будет обнаружена только в интеграционном тестировании, где вы объединяете свой компонент и зависимые компоненты. Только тогда вы сможете проверить предположения, сделанные в вашем компоненте, относительно реальности других компонентов.