2014-07-11 2 views
0

Я бегу несколько модульных тестов в PHP и генерируется отчет покрытия кода, как:Понимание отчет покрытия кода в PHPUnit

phpunit --coverage-text ./report testBlahBlah.php 

Результат выглядит следующим образом:

Summary: 
Classes: 0.00%(0/1) 
Methods : 55.56% (10/18) 
Lines 56.58% (43/76) 

Class BlahBlah 
Methods: 77.78(14/18) Lines 56.58 %(43/76) 

Я хочу, чтобы понять смысл настоящего доклада. Может кто-нибудь пролить свет на это. В каком классе говорят здесь, потому что всегда сообщается о каждом тестируемом классе. Почему процент методов отличается в Сводке и классе кода, так как существует только один класс. Кто-нибудь может это понять.

+0

Я отредактировал вопрос, добавленный отчет для теста класса тоже. – clint

ответ

0

Блок well php проверяет все задействованные классы в тестовом проекте. Из всех строк (всех классов) вместе, 8 покрыты.

Если 100% линий метода покрыты, то этот метод покрыт. Похоже, что эти восемь строк сосредоточены только одним методом.

И если покрыты 100% линий класса. Этот класс также покрыт. Поскольку ваш тестовый проект включает только один класс и 8/76. Этот класс не распространяется.

Отчет о покрытии в большинстве случаев сводку при тестировании большой библиотеки (с сотнями классов). В отчете суммируются только тесты, поэтому можно решить, нужны ли дополнительные тесты.

+0

Я считаю, что на самом деле требуется 100% -ный охват класса/метода, чтобы подсчитать его. –

+0

@npfedwards: насколько я знаю, вы можете установить параметр. Кроме того, иногда 100% даже невозможно (или трудно) достичь. –

+0

Ах, я должен был наткнуться на дефолт на 100%. Я думаю, что 100% должно быть тем, к чему мы стремимся. –

Смежные вопросы