PHPUnit @ covers влияет на производительность - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть кодовая база 17.500 LOC (согласно отчету о покрытии), которая будет продолжать расти. К сожалению, выполнение тестов и сбор информации для покрытия кода с помощью PHPUnit занимает очень много времени (30-45 минут). Без покрытия кода / xdebug это 2-3 минуты.

Поскольку база кода также состоит из большого количества встроенного кода платформы, который вызывается довольно часто, мне было интересно, может ли использование аннотации @covers иметьположительное влияние на производительность. Перед внедрением аннотации @covers я хотел бы знать, оказывает ли эта аннотация реальное положительное влияние или нет.

Я бы предположил, что в среднем каждая линия покрывается 5 раз, что, возможно, приводит к значительным накладным расходам, которых можно было бы избежать (не говоря уже о том, что более строгий отчет о покрытии выгоден для меня в любом случае). Однако, если @covers не оказывает положительного влияния, его реализация в моем списке приоритетов намного ниже.

Я знаю, что есть другие альтернативы для ускорения покрытия кода. Например,

  • Сценарий начальной загрузки Xdebug
  • phpdbg
  • Запускать отдельные отчеты о покрытии для кода приложения и кода платформы

1 Ответ

0 голосов
/ 11 ноября 2019

Нет, использование аннотаций @covers не оказывает (положительного) влияния на производительность. Все данные будут собраны, а затем отфильтрованы, например, на основе этих аннотаций.

...