Вот моя функция ждет тестом PHPUnit в:Как заменить PHP-класс на PHPUnit-заглушку?
<?php
class Dog
{
public function born()
{
$a = new Action();
$rs = $a->talk();
return $rs;
}
}
А класс Действие:
class Action
{
public function talk()
{
return "true";
}
}
Функция теста:
public function testStub()
{
$stub = $this->getMockBuilder('Action')
->getMock();
$stub->method('talk')
->willReturn('false');
var_dump($stub->talk()); // "false"
$dog = new Dog();
//[How can the born method invoke the stub method ?]
var_dump($dog->born()); // "true" [I think it should be "false",but it isn't]
}
Теперь, как я могу использовать класс заглушки для замены класса Action?
Благодарим за помощь.
Возможный дубликат [Php, как обмануть создание объекта?] (Http://stackoverflow.com/questions/31495360/php-how-to-mock-object-instantiation) –