簡體   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