Если коротко никак! Но, используя библиотеку PhpMocker - очень даже легко)) Причина возникновения проблем с созданием тестовых двойников финальных классов в PhpUnit связана с тем, что все мок-классы созданные им, создаются с помощью наследования. А как известно, создать наследника для финального класса просто невозможно, вот поэтому PhpUnit и терпит фиаско. PhpMocker может создавать мок-классы как с помощью наследования, так и с помощью изменения PHP кода в момент загрузки класса. И Именно благодаря этому для него нет проблем в создании тестовых двойников для финальных классов (а значит и для перечислений) Дзен плохо подходит для публикации кусочков кода, так что код лучше посмотреть в примере на гитхабе: https://github.com/dracul-aid/PhpMocker/blob/master/documentation-ru/faq/final-class.md PhpMocker - независимая библиотека, она не привязана ни к какому фреймворку юнит тестирования. А это значит, что проводя любые юнит-тесты вы сможете спокойно тестировать финальные классы! Кстати,
Как создать мок-класс (тестовый двойник) для final class в PhpUnit
14 марта 202314 мар 2023
63
~1 мин