Я хочу проверить эту часть:
if ($unitOfWork->getEntityState($entity) === $unitOfWork::STATE_NEW) { ....
У меня уже есть МОК $ unitOfWork. Но у UnitofWork есть CONST «STATE_NEW», и я не знаю, как я могу это высмеять? Потому что, когда я говорю, этот метод «getEntityState
«возвращает значение»STATE_NEW
«Я хочу сказать, что $unitOfWork::STATE_NEW
равно возвращаемому значению, и поэтому выполняется условие if!
У кого-нибудь есть идея?
Я уже попробовал:
$unitOfWorkMock->expects($this->once())
->method('STATE_NEW')
->will($this->returnValue('STATE_NEW'));
…но не работает!
ТАКЖЕ это не возможно:
$unitOfWorkMock::STATE_NEW = 2;
Чтобы получить мой макет устройства, я звоню:
private function getUnitOfWorkMock()
{
return $this->getMockBuilder('\Doctrine\ORM\UnitOfWork')
->disableOriginalConstructor()
->getMock();
}
Вам не нужно имитировать константы, так как в основном фиктивные объекты расширяют реальные объекты, и они имеют все свои константы.
$unitOfWorkMock->expects($this->once())
->method('getEntityState')
->will($this->returnValue($unitOfWorkMock::STATE_NEW));
Других решений пока нет …