Я пытаюсь получить покрытие кода в одном из моих проектов, но функции и классы, которые не называются, не учитывают вычисления покрытия. Трудно понять, что еще не охвачено (лоты), когда большие куски кода игнорируются.
На изображении ниже я ожидаю, что тела первых трех функций будут выделены красным цветом. Строки, которые не выполняются в выполняемых функциях, по крайней мере краснеют.
Для чего это стоит, я запускаю тестирование Debian с PHP 7.0.12-1 и XDebug 2.4.1-1, как установлено apt, и используя PHPUnit 4.8.27, как установлено Composer.
Отчеты о покрытии кода должны включать весь код в их вычислениях, а не только материал, который окрашен. Вы уверены, что не выделенный код исключается? Не выделенный код – это просто код, который не имеет тестов, красные блики для битов кода внутри методов, которые протестировали код, но не были протестированы (например, условный оператор, в котором вы только тестировали одну сторону условия)
Это, по-видимому, является постоянной ошибкой с XDebug и PHP 7.0, как описано в этой проблеме: https://github.com/sebastianbergmann/php-code-coverage/issues/411 Итак, она должна работать так, как я ожидаю, и ничего нет неверно о моей настройке. Думаю, мне просто нужно подождать, пока не будет найдена и исправлена основная причина (в XDebug). До тех пор, поток отмечает, что включение изоляции процесса – это обход.