繁体   English   中英

Symfony 2功能测试

[英]Symfony 2 Functional test

我在一个功能测试中遇到了一个对我来说并没有太多逻辑的问题。

该测试非常简单,它只请求主页,然后搜索其中具有特定类的元素。

主页用于显示文章列表的博客。 每个文章可以有多个页面(一对多),每个页面都有自己的特色图片。

在主页上(在树枝上),我执行$ article-> getPages()-> first()-> getImageUrl()。

如果使用相同的灯具,并且从浏览器访问页面,则所有内容均会显示,但是在运行测试时,它将引发异常“无法在未知对象上访问getImageUrl”,这使我认为它没有拉出文章。数据库中的页面。

为了使这个问题变得更加陌生,如果我直接在测试中查询数据库中的文章并遍历这些文章,它们都可以工作($ article-> getPages()-> first()-> getImageUrl())。 只有在使用self :: $ client-> request()调用时,它才起作用。

我检查了固定装置,甚至在查询生成器上添加了显式的innerJoin(),并手动检查数据库是否具有正确的数据。

而且,除了此功能外,我还有其他功能测试可加载自己的灯具,并且它们都可以正常工作。

这是我下面的测试代码。 无论是单独运行还是与整套测试一起执行,它都会失败。

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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM