Допустим нам нужно протестировать метод, внутри которого используется метод другого класса который влияет на результат: PHP: <?php use From\Somewhere\ExternalHandler; class MyClass { public function testingMethod($arg) { $externalClass = new ExternalHandler(); $somethingData = $externalClass->doSomething($arg); if($somethingData === 'something') { return false; } return $somethingData; } } Можно ли в PHPunit замокать метод doSomething() класса ExternalHandler(), чтобы внутри тестируемого метода testingMethod(), чтобы он возвращал конкретное значение?
Да, можно PHP: $finder = $this->createStub(MyClass::class); $finder->method('run')->willReturn('wrong');
И как этот код должен работать? Вы стабите класс, и подменяете в нём возвращаемое значение метода (которого кстати нет в описанном примере) из этого-же класса. Какое это имеет отношение к моему вопросу?
Так вся суть в том что ничего не понятно. Уж будьте так любезны снизойти и пояснить сирым как Ваш гениальный код должен выполнить задачу описанную в топике?! Или слабо?!!