Использование покрытия кода PHPUnit с интерфейсами - PullRequest
9 голосов
/ 16 января 2012

Я использую PHPUnit (3.6.7) для тестирования и предоставления отчетов о покрытии кода для моего приложения, все настроено и работает, как и ожидалось.

У меня есть полное покрытие для всего кода, за исключением моих интерфейсов, хотя у меня есть тесты для классов, которые реализуют интерфейсы. В отчете просто говорится, что интерфейс не был выполнен

Есть ли способ охватить интерфейсы? Или это случай, когда PHPUnit игнорирует их для покрытия кода?

Ответы [ 3 ]

5 голосов
/ 16 января 2012

Вы можете указать, что тесты для конкретных классов охватывают методы из родительских абстрактных классов / интерфейсов.

См. Раздел Specifying Covered Methods в Анализ покрытия кода глава руководства.

В этой же главе вы также найдете способы игнорировать блоки кода или целые файлы из анализа покрытия кода.

5 голосов
/ 16 января 2012

Так же, как дополнительный ответ:

В следующей версии PHPUnit (3.7.) по умолчанию будут игнорироваться все интерфейсы для покрытия.

Таким образом, нет необходимости использовать какие-либо виды включений или //@codeCoverageIgnore способов обойти это.

1 голос
/ 16 января 2012

Интерфейсы не содержат исполняемого кода, поэтому тестировать там нечего.

...