Издевательство - частичная имитация общедоступного внутреннего метода не работаетPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Издевательство - частичная имитация общедоступного внутреннего метода не работает

Сообщение Anonymous »

Я не могу имитировать общедоступный метод "substract" класса, который вызывается внутри другого метода "remove" (это пример кода, но с той же проблемой).

Код: Выделить всё

public class Inventory {
public function substract(int $value, int $change)
{
return $value-$change;
}

public function remove(int $value)
{
return $this->substract($value, 1);
}
}

Код: Выделить всё

$mock = \Mockery::mock(Inventory::class)->makePartial();
$mock->shouldReceive('substract')->andReturn(0);
dd($mock->remove(10)); // It return 9 instead of 0
Но если я вызову $mock->substract.... я получу 0, похоже, что внутренний вызов не является макетом.
Кто-то уже кодировали эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/782 ... d-not-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»