createMock('Doctrine\DBAL\Connection'); $mockEntityManagerInterface = $this->createMock('Doctrine\ORM\EntityManagerInterface'); $mockEventManager = $this->createMock('Doctrine\Common\EventManager'); $mockStatement = $this->createMock('Doctrine\DBAL\Driver\Statement'); $mockResultMapping = $this->getMockBuilder('Doctrine\ORM\Query\ResultSetMapping'); $mockEntityManagerInterface->expects(self::any())->method('getEventManager')->willReturn($mockEventManager); $mockEntityManagerInterface->expects(self::any())->method('getConnection')->willReturn($mockConnection); $mockStatement->expects(self::once())->method('fetch')->willReturn(false); /* @var $mockAbstractHydrator AbstractHydrator */ $mockAbstractHydrator = $this ->getMockBuilder('Doctrine\ORM\Internal\Hydration\AbstractHydrator') ->setConstructorArgs([$mockEntityManagerInterface]) ->setMethods(['hydrateAllData']) ->getMock(); $mockEventManager ->expects(self::at(0)) ->method('addEventListener') ->with([Events::onClear], $mockAbstractHydrator); $mockEventManager ->expects(self::at(1)) ->method('removeEventListener') ->with([Events::onClear], $mockAbstractHydrator); $mockEventManager ->expects(self::at(2)) ->method('addEventListener') ->with([Events::onClear], $mockAbstractHydrator); $mockEventManager ->expects(self::at(3)) ->method('removeEventListener') ->with([Events::onClear], $mockAbstractHydrator); iterator_to_array($mockAbstractHydrator->iterate($mockStatement, $mockResultMapping)); $mockAbstractHydrator->hydrateAll($mockStatement, $mockResultMapping); } }