Имеется два класса. В классе Two создаем экземпляр класса One в переменную $one.
class One
{
public function getOne()
{
return 1;
}
}
class Two
{
public function getOnePlusTwo()
{
$one = new One();
return $one->getOne() + 2;
}
}
Тест, в котором подменяю возвращаемое значение метода getOne на 2. Ожидаю 4. Но при запуске теста метод getOne все равно возвращает 1, то есть getMockBuilder
никак не влияет глобально на метод, всего лишь делает копию и орудует ей
public function testGetOnePlusTwo()
{
$mock = $this->getMockBuilder(One::class)
->getMock();
$mock->method('getOne')
->willReturn(2);
$two = new Two();
$this->assertEquals(4, $two->getOnePlusTwo());
}
При вызове $mock->getOne возвращается 2, все правильно. но при запуске теста getOne возвращает 1.
Не понимаю как замокать метод класса getOne в функции getOnePlusTwo, чтобы возвращать нужные значения. Подскажите?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я использую CURL для отправки файлаЭто работает хорошо, когда я отправляю файл
Переписываю некий код с яваскрипта на пхп, должен работать идентично
нужно добавить функционал что бы пользователь мог вносить в свой гугл календарь некоторые события, и если пользователь уже вошел в систему...
Для парсинга использую simpleDomParser