Дополнительная if
предназначена для надежности вашего кода. Такие проверки надежности не поддаются проверке разумным способом. Это также будет происходить в различных других частях вашего кода - это часто происходит в операторах switch
, где все возможные случаи явно рассматриваются, и добавляется дополнительный случай по умолчанию, просто чтобы вызвать исключение или иным образом обработать эту «невозможную» ситуацию. Или подумайте об утверждениях утверждений, добавленных в код: поскольку утверждения никогда не должны заканчиваться ошибкой, строго говоря, вы никогда не сможете охватить ветвь else, которая скрыта внутри утверждения утверждений - как вы проверяете, что выражение внутри утверждения хорошо для на самом деле обнаружить проблему, которую вы хотите?
Удаление такого кода надежности и утверждений не является хорошей идеей, поскольку они также помогают обнаружить нежелательные побочные эффекты будущих изменений. В конце концов, вам нужно будет принять осознанное решение (просматривая подробный отчет о покрытии, а не только общий процент), какие утверждения / ответвления и т. Д. Вашего кода действительно необходимо охватить, а какие нет.
И, наконец, помните, что высокий охват кода не обязательно свидетельствует о высоком качестве вашего тестового набора. Ваш набор тестов имеет высокое качество, если он обнаружит ошибки в коде, которые могут существовать. У вас может быть набор тестов со 100% охватом, который не обнаружит потенциальных ошибок.