【发布时间】:2018-02-27 12:26:36
【问题描述】:
我正在尝试模拟 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
disabledOriginalConstructorphpunit的方法默认为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;
}
有什么想法吗?
【问题讨论】:
标签: unit-testing mocking phpunit stub