2010-07-20 25 views
4

嘿,大家好,我一直在使用PHPUnit在我正在開發的Symfony/Doctrine項目上進行單元測試。直到昨天,各個班級從100%的覆蓋率下降到98-99%,工作狀況良好。這種變化的原因是因爲這些類別的開頭左括號由於某種原因不再被認爲是「被覆蓋」的。這裏有一個問題截圖:PHPUnit覆蓋現在不完整,因爲類'開頭括號不包括

http://imgur.com/RCDzm.png

我嘗試了一切,但我想不出是什麼原因導致一些類有這個問題,而另一些則「完全」覆蓋就好了。由於測試仍然運行良好,所以它比任何事情都更令人煩惱,但很高興知道發生了什麼。我使用PHP 5.3.2,PHPUnit v3.4.15和Xdebug v2.1.0以防萬一。

回答

6

可能與

塞巴斯蒂安將其標記爲PHPUnit中和德里克wontfix說這是不是一個錯誤。

這不是一個錯誤。 Xdebug只能在加載項目(文件,函數,方法)時啓用代碼覆蓋。類文件在啓用代碼覆蓋之前加載,因此在覆蓋率報告中未找到。這些方法在運行時也會被掃描,所以它在那裏工作。

+2

賓果!我們在一個單元測試文件中有一個流浪的require_once調用,並且刪除了這個(並且取決於自動加載器)修復了這個問題。不知道這是否也是由於在php.ini設置中關閉了xdebug.auto_trace。 – Cowlby 2010-07-20 22:09:40

+2

當前狀態:xDebug將能夠在未來發布xdebug版本和min。 PHP 5.4。 – edorian 2011-12-07 23:48:19