Я провожу модульное тестирование с самой простой структурой и использую xdebug для отчетов о покрытии кода. позвольте мне объяснить вам мою проблему:
- У меня есть класс, который я хочу проверить. Допустим, имя класса - pagination.php.
- Я пишу еще один класс для тестирования. Я написал два тестовых примера, чтобы проверить класс нумерации страниц.
- в двух тестовых примерах есть около 12 утверждений, которые дают мне правильный результат "Pass".
- Теперь я хочу сгенерировать отчет о покрытии кода, для этого я использую xdebug, чтобы показать, что мои тесты покрывают весь код или нет. Я использую функцию xdebug_start_code_coverage () и для отображения результата использую функцию xdebug_get_code_coverage ().
Теперь проблема в том, что, когда я печатаю xdebug_get_code_coverage (), он дает мне 2-мерный ассоциативный массив с именем файла, номером строки и временем выполнения. результат примерно такой:
array
'path/to/file/pagination.php' =>
array
11 => int 1
113 => int 1
строка 11 - начало класса, а строка 113 - конец класса. Я не знаю, почему это не происходит внутри класса и почему оно не обеспечивает покрытие операторов для функций класса. Тем не менее, мои тесты выглядят нормально для меня, и я знаю, что все условия и ветвление покрытия работают.
Я буду очень признателен, если вы поможете мне в этом отношении и поможете мне решить эту проблему.
Может быть, я что-то здесь упустил. Если вы хотите что-то еще, пожалуйста, дайте мне знать.