Задать вопрос
chazovs
@chazovs
Корпорация Центр

Как протестировать метод, создающий внутри http клиент через статический метод фабрики?

Есть метод примерно следующего содержания (упростил содержание для ясности):

public function handle(array $array): void
{
    foreach ($array as $item) {
        $client = ClientFactory::createClient($item->getToken());
        $this->handleOrders($client->call());
    }
}


Я бы хотел замокать метод call(), чтобы посмотреть, правильно ли отрабатывает приватный метод handleOrders. Правильно ли я понимаю, что единственный выход - сделать handleOrders публичным через рефлекцию и протестировать уже его?
  • Вопрос задан
  • 55 просмотров
Подписаться 1 Простой 11 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Проще переписать чем тестировать такой метод со статическими вызовами.
Сделайте фабрику без статического вызова и заинжекте её через конструктор этого хэндлера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы