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 публичным через рефлекцию и протестировать уже его?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
Проще переписать чем тестировать такой метод со статическими вызовами.
Сделайте фабрику без статического вызова и заинжекте её через конструктор этого хэндлера.
Ответ написан
Ваш ответ на вопрос

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

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