2014-11-27 2 views
0

Я хочу проверить эту часть:PHPUnit: Как получить значение CONST для макета?

if ($unitOfWork->getEntityState($entity) === $unitOfWork::STATE_NEW) { .... 

У меня уже есть Mock в $ UnitOfWork. Но у UnitofWork есть CONST «STATE_NEW», и я не знаю, как я могу издеваться над этим? Потому что, когда я говорю, этот метод «getEntityState» перенастраивает значение «STATE_NEW», я хочу сказать, что $unitOfWork::STATE_NEW равен возвращаемому значению, и поэтому он переходит в if-condition! У кого-нибудь есть идея? Я уже пробовал:

$unitOfWorkMock->expects($this->once()) 
      ->method('STATE_NEW') 
      ->will($this->returnValue('STATE_NEW')); 

... но не работает! Кроме того, этот ист не представляется возможным:

$unitOfWorkMock::STATE_NEW = 2; 

Чтобы получить мой Mock в UnitOfWork я Колл:

private function getUnitOfWorkMock() 
    { 
     return $this->getMockBuilder('\Doctrine\ORM\UnitOfWork') 
      ->disableOriginalConstructor() 
      ->getMock(); 
    } 
+1

Можете ли вы не просто сравнить с константой нормального класса? Просто сравните, что значение обратно верно, используя $ class :: STATE_NEW? –

ответ

1

Вам не нужно издеваться константы, так как в основном фиктивные объекты расширяет реальные объекты и они имеют все свои константы.

$unitOfWorkMock->expects($this->once()) 
     ->method('getEntityState') 
     ->will($this->returnValue($unitOfWorkMock::STATE_NEW)); 
+0

СПАСИБО! Я тоже понял это! Это решение! – Zwen2012

Смежные вопросы