Я не уверен, является ли это ошибкой, но мне кажется, что я не могу получить 100% покрытие с ранним выходом из генератора PHP 5.5.
Например:
<?php
function gen($branch = false)
{
yield;
if($branch) {
echo 'branched';
return;
} // This line is never covered.
echo 'did not branch';
}
Закрывающая скобка оператора if никогда не закрывается. Он не считается «мертвым кодом», он ведет себя так, как будто вы не рассматривали возможность выхода из оператора if.
Я не хочу использовать else
потому что, как сказал бы phpmd, «иначе никогда не нужно», но я хотел бы получить 100% охват (так как это позволяет легко увидеть, что я что-то пропустил в новом коде без детализации).
Кто-нибудь еще сталкивался с этим? Есть ли решение?
Это был ошибка в Xdebug, и разрешается в версия 2.4.0
Других решений пока нет …