gpt4 book ai didi

PHPSpec:通过引用返回的函数

转载 作者:可可西里 更新时间:2023-11-01 01:12:27 32 4
gpt4 key购买 nike

我在项目中将 Doctrine 2.5 更新为 2.6,但 phpspec 已损坏。

函数 getEntityChangeSet() 现在通过引用返回。 phpspec好像不支持。

$unitOfWork
->getEntityChangeSet($site)
->willReturn(['_dataParent' => [0 => 2, 1 => 3]]);

响应是不支持通过引用返回

底层函数(doctrine/doctrine2)是

public function & getEntityChangeSet($entity)
{
$oid = spl_object_hash($entity);
$data = [];

if (!isset($this->entityChangeSets[$oid])) {
return $data;
}

return $this->entityChangeSets[$oid];
}

您知道是否可以绕过这个或更改测试以使其工作吗?

最佳答案

答案已在推特上由@Pamilme给出

您必须使用 Mockery 模拟 UnitOfWork。可以找到一个例子here :

    /** @var UnitOfWork|MockInterface $unitOfWork */
$unitOfWork = Mockery::mock(UnitOfWork::class);
$unitOfWork->shouldReceive('getEntityChangeSet')->withArgs([$productAttribute->getWrappedObject()])->andReturn([
'configuration' => [
['choices' => [
'8ec40814-adef-4194-af91-5559b5f19236' => 'Banana',
'1739bc61-9e42-4c80-8b9a-f97f0579cccb' => 'Pineapple',
]],
['choices' => [
'8ec40814-adef-4194-af91-5559b5f19236' => 'Banana',
]],
],
]);
$entityManager->getUnitOfWork()->willReturn($unitOfWork);

关于PHPSpec:通过引用返回的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49874392/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com