Php Symfony 2功能测试
在我的一次功能测试中,我遇到了一个不太符合逻辑的问题 测试非常简单,它只需要请求主页,并搜索其中包含特定类的元素 主页用于显示文章列表的博客。每篇文章可以有多个页面,一对多,每个页面都有自己的特色图片 在twig的主页上,我做$article->getPages->first->getImageUrl 如果我使用相同的装置,并从浏览器访问页面,所有内容都会按应有的方式显示,但当我运行测试时,它会引发一个异常,无法访问未知对象上的getImageUrl,这使我认为它没有从DB中提取文章页面 更奇怪的是,如果我直接在测试中查询数据库中的文章,并迭代这些文章,它们都可以工作$article->getPages->first->getImageUrl。只有在使用self::$client->request调用时,它才不起作用 我检查了fixture,甚至在查询生成器上添加了一个显式的innerJoin,并手动检查数据库是否有正确的数据 此外,我还有其他的功能测试,加载它们自己的夹具,它们都可以工作,除了这个 下面是我的测试代码。它在单独运行和使用整个测试套件执行时都会失败Php Symfony 2功能测试,php,symfony,phpunit,functional-testing,Php,Symfony,Phpunit,Functional Testing,在我的一次功能测试中,我遇到了一个不太符合逻辑的问题 测试非常简单,它只需要请求主页,并搜索其中包含特定类的元素 主页用于显示文章列表的博客。每篇文章可以有多个页面,一对多,每个页面都有自己的特色图片 在twig的主页上,我做$article->getPages->first->getImageUrl 如果我使用相同的装置,并从浏览器访问页面,所有内容都会按应有的方式显示,但当我运行测试时,它会引发一个异常,无法访问未知对象上的getImageUrl,这使我认为它没有从DB中提取文章页面 更奇怪
public function testSocialBoxPositionWithFeatured()
{
self::runCommand('h4cc_alice_fixtures:load:files --drop src/SNN/AdminBundle/Fixtures/Nelmio.yml');
$crawler = self::$client->request('GET', '/'); //go to homepage
$classes = $crawler
->filter('.postsContainer > .col-md-4')
->eq(5)
->children()
->first()
->attr("class");
$this->assertContains("socialBox", $classes);
}
提前感谢,我发现清除实体管理器可以让我的测试正常工作。。。所以我简单地添加了self::$client->getContainer->get'doctrine->getManager->clear 我发现清除实体管理器可以让我的测试正常工作。。。所以我简单地添加了self::$client->getContainer->get'doctrine->getManager->clear;您可以在解决方案中添加答案并接受它。这将标志着这个问题已经解决。