PHPUnit Методы проверенных классов, не показанные в отчетах о покрытии кода?

Я работаю над проектом php в magento2. Я использую фиктивные объекты для написания юнит-тестов. Я узнал, что когда я генерирую отчет о покрытии кода, проверенные классы и методы не отображаются так, как они описаны в отчетах о покрытии кода, есть ли способ показать это?

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

Ссылка: https://github.com/sebastianbergmann/phpunit-mock-objects/issues/123

Любая помощь высоко ценится!

Спасибо

1 ответ

Смежные методы не показаны как покрытые, потому что их код не был выполнен (они были заглушены, и было возвращено только предопределенное значение, а исходный код никогда не вызывался).

Есть несколько вещей, которые вы можете сделать:

  • Если у Magento 2 есть свой собственный тест, выполните его. Таким образом, покрытие тестов magento будет добавлено к вашему.
  • Вышеуказанный пункт на самом деле не имеет особого смысла, поэтому лучше игнорировать пути magento в отчете о покрытии кода.
  • Добавьте интеграционные тесты, которые на самом деле проходят через код Magento. Это единственный настоящий тест, который у вас будет. Когда вы издеваетесь над методом magento, вы просто проверяете, что ваш код вызывает метод правильно или что он работает с ожидаемым возвращаемым значением правильно. Вы никогда не проверяете, действительно ли вызов этого метода делает то, что вы ожидаете
Другие вопросы по тегам