2013-02-07 80 views
2

我想知道是否可以將名稱指定給單元測試,以便將其顯示爲其運行。因此,如果我有多個測試,所有運行失敗的名稱可以很快找到symfony2單元測試控制檯輸出測試名稱或編號

因此,添加類似的東西(這不是真正的代碼,下面爲了描述的目的)。它的標記爲1.1和1.2的部分即時輸出在控制檯中

$this->assertEquals(1, 
    $crawler->filter('h1:contains("About symblog")')->count(), 
    '1.1 Test one some description' 
); 


$this->assertEquals(1, 
    $crawler->filter('h2:contains("' . $blogTitle .'")')->count(), 
    '1.2 Another test' 
); 

我不知道該怎麼去做。 實際代碼如下

public function testIndex() 
    { 
     $client = static::createClient(); 

     $crawler = $client->request('GET', '/blogger/'); 

     // Check there are some blog entries on the page 
     $this->assertTrue($crawler->filter('article.blog')->count() > 0); 


     // Find the first link, get the title, ensure this is loaded on the next page 
     $blogLink = $crawler->filter('article.blog h2 a')->first(); 
     $blogTitle = $blogLink->text(); 
     $crawler = $client->click($blogLink->link()); 

     // Check the h2 has the blog title in it 
     $this->assertEquals(1, $crawler->filter('h2:contains("' . $blogTitle .'")')->count()); 

    } 

phpUnit output example

回答

2

只需使用--debug標誌是這樣的:

phpunit -c app --debug path/to/your/tests 
+0

是更好 - 它至少縮小下來的功能。仍然希望我可以進一步分配每個測試的名稱。 +1 –

+0

謝謝。我認爲通過「測試」你確實是一個斷言,對吧?因爲「測試」是整個方法,所以測試的名稱與方法的名稱相同。如果你想爲你的斷言提供名稱或標籤,你已經舉了一個例子來說明如何做到這一點。你只要傳遞第三個參數給eg。在斷言中「assertEquals」(或者在某些情況下,如assertTrue)。或者我可能錯過了你的擔憂? – Cyprian

+0

我正在尋找它輸出'1.2另一個測試'或任何我作爲一個字符串輸入到控制檯作爲斷言的一部分。感謝「--debug」,我現在擁有測試函數名稱。我給出的例子不起作用,它被用來描述我想要做的事情。 –