Мне нужно смоделировать статический метод класса.Но в phpunit: 4 и более поздних версиях макетирование статического метода невозможно (я получаю исключение с сообщением «Статический метод« findBy »не может быть вызван для фиктивного объекта»).Как мне нужно настроить макет, чтобы получить успешный тест?
Я пытался создать макет класса без phphunit вручную.Что-то вроде tests/Mocks/MyClass.php
, расширяющее абстрактный класс и реализующее мой статический метод /
interface IdentityInterface
{
// this method calling first in other component
public static function findBy(string $number, ?string $trunk): ?IdentityInterface;
}
abstract class Identity implements IdentityInterface
{
// this method and other calling after findBy method
public function getName(): string
{
return $this->name; // need to cover
}
}
Мой статический метод должен возвращать свой экземпляр, чтобы использовать другие внутренние методы, которые мне нужно охватить.