2010-08-27 66 views
2

我有我的PHPUnit安裝和覆蓋率報告工作正常,沒有白名單過濾器。但是,一旦我添加了一個,報告似乎只是部分生成,就好像PHPUnit意外退出一樣。我沒有收到任何錯誤或警告。PHPUnit代碼覆蓋不與配置

我configuratoon看起來是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<phpunit bootstrap="./bootstrap.php" 
     colors="true"> 
    <testsuites> 
     <testsuite name="..."> 
      <testsuite name="..."> 
       <directory>./path/to/suite</directory> 
      </testsuite> 
      <testsuite name="..."> 
       <directory>./path/to/suite2</directory> 
      </testsuite> 
      <testsuite name="..."> 
       <directory>./path/to/suite3</directory> 
      </testsuite> 
     </testsuite> 
    </testsuites> 

    <filter> 
     <whitelist> 
      <directory suffix=".php">../path/to/files</directory> 
     </whitelist> 
    </filter> 

    <logging> 
     <log type="coverage-html" target="log/" charset="UTF-8" yui="true" /> 
    </logging> 
</phpunit> 

上有什麼可以去錯了你知道嗎?

回答

1

原來我在白名單上的文件中有一些腳本暫停程序代碼。

+0

是的,在PHP代碼中使用'DIE()'或'EXIT;'將會停止PHPunit覆蓋報告。 – 2011-01-27 16:27:09

1

對不起挖掘舊的,但我googled phpunit代碼覆蓋不起作用,這一個出現。

我讓代碼覆蓋率只是運行它的過程(認爲xdebug是用於它),它一段時間以來很好。

然後當我創建一個新的測試時,它突然停止工作,運行的代碼被標記爲未覆蓋。

我在PHPUnit創建的測試類:PHPUnit的-skelgen --test

那一個創建覆蓋註釋,如:MyClass的@covers ::的someMethod

刪除他們解決了這個問題對我來說,現在的XDebug使用再次突然有100%的覆蓋率。

關於報道的一句話;只要調用一種方法就可以在報告中覆蓋它,但大多數情況下不能被視爲覆蓋。用空值和無效值調用它會覆蓋它。

+0

感謝您的分享 – 2012-09-21 21:29:50