2014-11-04 48 views
1

我有一個代碼在我的網站中實現博客。我想通過在控制檯中發佈來檢查它是否有效:phpunit -c app。Simfony2 phpunit -c app Failed assert that false is true

我得到一個結果:

有1次失敗: 1)博客\ CoreBundle \測試\控制器\ PostControllerTest :: testIndex

無響應

無法斷言假爲真。 C:\ XAMPP \ htdocs中\ escribe的\ src \博客\ CoreBundle \測試\控制器\ PostControllerTesphp:21

下面是簡單的代碼,我實現檢查客戶端:

<?php 
namespace Blog\CoreBundle\Tests\Controller; 
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; 
/** 
* Class PostControllerTest 
*/ 
class PostControllerTest extends WebTestCase 
{ 
    /** 
    * Tests posts index 
    */ 
    public function testIndex() 
    { 
     $client = static::createClient(); 
     $crawler = $client->request('GET', '/'); 
     $this->assertTrue($client->getResponse()->isSuccessful(), 'No response'); 
    } 
} 

林建設這個上symfony2 2.5 感謝您的高級幫助。

+0

'isSuccessful()'只是檢查響應的狀態碼是否在'200'和'300'之間。在你的情況下,它似乎不是...我不知道我得到你的問題(也許你應該公佈的測試行動的代碼?) – Brice 2014-11-04 14:02:40

回答

0

您應檢查該網頁是通過檢查頁面某些元素格式正確:

# check that there is a <html> tag (this is an example, in real life it's pretty useless) 
$this->assertEquals(
    1, 
    $crawler->filter('html:contains("Blog")')->count() 
); 

# check that the page <title> contains "Blog" 
$this->assertEquals(
    1, 
    $crawler->filter('title:contains("Blog")')->count() 
); 

# check that the page have articles (use your own selector) 
$this->assertGreaterThan(
    0, 
    $crawler->filter('#content div.article')->count() 
); 

official documentation更多的例子和PHPUnit documentation所有斷言的列表。

0

謝謝A.L.我休息了一下,不知何故纔得到了答案。這是一個非常愚蠢的錯誤。其他控制器錯誤地定義了app/config/routing.yml中的路由。感謝您的支持。