Очень плохо, когда вам нужно изменить исходный код, чтобы преодолеть недостатки используемых вами инструментов.
У нашего PHP Test Coverage Tool такой проблемы нет.
Кроме того, если вы разместите несколько операторов в одной строке, наши будут отслеживать их по отдельности.Я полагаю, что XDebug пометит «строку» как покрытую, если какая-либо часть первого оператора в строке покрыта.Я полагаю, что это будет сделано даже для следующего:
if (... ) { .... }
Таким образом, вы получите "ложное" покрытие, сообщаемое для блока, управляемого условным оператором, даже если условное выражение всегда ложно.