Функция PHPUnit toArray() из имитируемой ArrayCollection возвращает значение nullPhp

Кемеровские программисты php общаются здесь
Anonymous
Функция PHPUnit toArray() из имитируемой ArrayCollection возвращает значение null

Сообщение Anonymous »

Я хочу создать MockObject из ArrayCollection, если Doctrine с элементами, но $arrayCollection->toArray() вернул ноль. Мой код ниже:

Код: Выделить всё

$subEntity = $this->createMock(SubEntity::class);

$arrayCollection = $this->getMockBuilder(ArrayCollection::class)
->setConstructorArgs([
[$subEntity]
])
->getMock();

$entity = $this->createMock(Entity::class);
$entity
->expects($this->once())
->method('getSubEntities')
->willReturn($arrayCollection);

$testingClass = new TestingClass();
$result = $testingClass->converts($entity);

$this->assertInstanceOf(OtherEntity::class, $result);
Это функция Converts():

Код: Выделить всё

class TestingClass {
...
public function converts(iterable $object){
return array_map(
function ($item) { ... },
$object->toArray()
);
}
....
}
При запуске теста я получил ошибку: TypeError: array_map(): Аргумент №2 ($array) должен иметь тип массива, задано значение null
У кого-нибудь есть идеи?


Подробнее здесь: https://stackoverflow.com/questions/790 ... turns-null

Вернуться в «Php»