Макет, созданный с помощью PHPUnit, возвращает "NULL" при вызове класса - PullRequest
1 голос
/ 27 января 2011

Код:


$mockObject = $this->getMock('ORM_User');

$mockObject->expects($this->at(0))
    ->method('xxx')
    ->with($this->equalTo('a'))
    ->will($this->returnValue('aaa'));

$mockObject->expects($this->at(1))
    ->method('xxx')
    ->with($this->equalTo('b'))
    ->will($this->returnValue('bbb'));

var_dump("-".$mockObject->xxx('a'));
var_dump($mockObject->xxx('b'));  

$tmp = new ORM_User();
var_dump($tmp->xxx('a'));
var_dump($tmp->xxx('b'));

Выход:



string(4) "-aaa"
string(3) "bbb"
NULL
NULL

1 Ответ

3 голосов
/ 27 января 2011

делает то, что вы говорите, и работает нормально, насколько я вижу.

Вы создаете «фальшивый» ORM_User и сообщаете функции xxx, что она возвращает «aaa» и «bbb», и она делает это.

Затем вы создаете real ORM_USER и вызываете его, который возвращает null, но это находится за рамками phpunit. Вы просто называете реальный класс, чтобы я не видел, к чему вы клоните.

Может, расскажете нам, что вы пытаетесь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...