Функция 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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