小编med*_*nes的帖子

为什么 returnValueMap() 返回 NULL

尝试在测试中模拟学说存储库,当与findOneBy方法一起使用时,returnValueMap() 始终返回 NULL 。

我模拟了两个实体,然后尝试使用给定的返回值映射来模拟它们的存储库。测试失败,调试显示 returnValueMap() 返回 NULL。

这是要测试的类(反规范化器)

<?php

declare(strict_types=1);

namespace App\Serializer;

use App\Entity\AdditionalService;
use App\Repository\AdditionalServiceRepository;
use Dto\AdditionalServiceCollection;
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;

class AdditionalServiceCollectionDenormalizer implements DenormalizerInterface
{
    /** @var AdditionalServiceRepository */
    private $additionalServiceRepository;

    public function __construct(AdditionalServiceRepository $additionalServiceRepository)
    {
        $this->additionalServiceRepository = $additionalServiceRepository;
    }

    public function denormalize($mappedCsvRow, $class, $format = null, array $context = [])
    {
        $addtionalServicesCollection = new AdditionalServiceCollection();
        foreach ($mappedCsvRow as $fieldName => $fieldValue) {
            /** @var AdditionalService $additionalService */
            $additionalService = $this->additionalServiceRepository->findOneBy(['name'=>$fieldName]);

            if ($additionalService) {
                $addtionalServicesCollection->add($additionalService->getId(), $fieldValue);
            }
        } …
Run Code Online (Sandbox Code Playgroud)

phpunit symfony doctrine-orm php-7

1
推荐指数
1
解决办法
1764
查看次数

标签 统计

doctrine-orm ×1

php-7 ×1

phpunit ×1

symfony ×1