首页 > 解决方案 > Symfony 4 功能测试未正确加载(子)实体

问题描述

我想对一个控制器进行功能测试,该控制器加载由 url 中的 id 给出的实体。该实体正在加载一个子实体。当我直接打开测试的 URL 并转储子实体时,一切都很好。当我通过功能测试调用相同的 url 并读取内容时,子实体为空。我已经获取了子实体“EAGER”,但结果与没有它的结果相同。

控制器称为 /parent/{id}

public function displayParent($id, ParentRepository $parentRepository)
{
 $parent = $parentRepository->findOneByCode($id);
 // Not 'null' when url is directly opened
 // 'null' when called in the functional test
 dump($parent->getChild());
 ...

功能测试:

public function testParent()
{
    $client = static::createClient();
    $crawler = $client->request('GET', '/parent/12');

    // Displays content of /parent/{id} but is always 'null'
    dump($client->getResponse()->getContent());
    ...
}

这怎么可能,我该如何解决?

标签: phpsymfonyautomated-tests

解决方案


推荐阅读