PHPUnit Методы проверенных классов, не показанные в отчетах о покрытии кода?
Я работаю над проектом php в magento2. Я использую фиктивные объекты для написания юнит-тестов. Я узнал, что когда я генерирую отчет о покрытии кода, проверенные классы и методы не отображаются так, как они описаны в отчетах о покрытии кода, есть ли способ показать это?
Я посмотрел на официальный репо, и это упоминается как поведение по умолчанию.
Ссылка: https://github.com/sebastianbergmann/phpunit-mock-objects/issues/123
Любая помощь высоко ценится!
Спасибо
1 ответ
Смежные методы не показаны как покрытые, потому что их код не был выполнен (они были заглушены, и было возвращено только предопределенное значение, а исходный код никогда не вызывался).
Есть несколько вещей, которые вы можете сделать:
- Если у Magento 2 есть свой собственный тест, выполните его. Таким образом, покрытие тестов magento будет добавлено к вашему.
- Вышеуказанный пункт на самом деле не имеет особого смысла, поэтому лучше игнорировать пути magento в отчете о покрытии кода.
- Добавьте интеграционные тесты, которые на самом деле проходят через код Magento. Это единственный настоящий тест, который у вас будет. Когда вы издеваетесь над методом magento, вы просто проверяете, что ваш код вызывает метод правильно или что он работает с ожидаемым возвращаемым значением правильно. Вы никогда не проверяете, действительно ли вызов этого метода делает то, что вы ожидаете