1
我想嘲笑AbstractQuery
类学说的为什么它需要一个参数模拟抽象类的构造函数
$this->abstractQuery = $this->getMockForAbstractClass('Doctrine\ORM\AbstractQuery')
->disableOriginalConstructor();
现在,我会尽我的存根
$this->abstractQuery->expects($this->at(1))
->method('getResult')
->willReturn('our query result');
我得到这个错误
Argument 1 passed to Doctrine\ORM\AbstractQuery::__construct() must be an instance of Doctrine\ORM\EntityManagerInterface, none given
disabledOriginalConstructor
phpunit的方法默认为false
/...
public function disableOriginalConstructor()
{
$this->originalConstructor = false;
return $this;
}
/...
和getMockForAbstractClass
方法用了这个值
public function getMockForAbstractClass()
{
$object = $this->generator->getMockForAbstractClass(
$this->type,
$this->constructorArgs,
$this->mockClassName,
$this->originalConstructor,
$this->originalClone,
$this->autoload,
$this->methods,
$this->cloneArguments
);
$this->testCase->registerMockObject($object);
return $object;
}
什么想法?
'getMock'会得到关于普通类的存根,'getMockForAbstractClass'会得到关于抽象类的信息,我认为它的位置总是在最后的设置模拟中。 – jjoselon