Задать вопрос

Как заглушить методы из вызываемого метода phpunit?

Есть метод который запрашивает у внешнего API json. Я симулирую обращение к этому методу, и глушу внутри этого метода, метод который обращается к апи, но почему то упираюсь в ошибку: Protocol "" not supported or disabled in libcurl
В методе getTasksData() происходит коннект к апи который не нужно делать в тестах. Почему вызывается оригинальный getTasksData() а не его подмена?
public function testCreateTasks()
{
	$mock = Mockery::mock(MyClass::class)->makePartial();
	$mock->shouldReceive('getTasksData')->andReturn(false);
	$result = $mock->createTasks();
	
	$this->assertSame(false, $result);

}

метод из класса
public function createTasks()
{
	$tasks = self::getTasksData();
	// создать задачу
	return true;
}
  • Вопрос задан
  • 149 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Tendor
$mock->shouldReceive('getTasksData')->never();
Ответ написан
Ваш ответ на вопрос

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

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