PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHPSpec:通过引用返回的函数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我在项目中将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];
}

您是否知道是否可以绕过此程序或更改测试以使其正常工作?

解决方法:

答案已经在Twitter上由@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:通过引用返回的函数全部内容,希望文章能够帮你解决PHPSpec:通过引用返回的函数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: