2012-07-22 60 views
1

我剛剛創建了一個新的zend框架應用程序來嘗試單元測試。創建從根文件夾開始的代碼覆蓋率報告

我遵循this教程,並且所有內容似乎都能正常運行以進行測試。顯示覆蓋率報告存在問題。它顯示正確的信息,但報告從我的硬盤驅動器的根目錄開始,我需要遍歷樹到我的項目文件夾以查看有用的信息。

這意味着每次我運行測試時,我需要深入點擊5個文件夾以獲取實際報告。

如何使報告在我的項目文件夾中開始?這是我的phpunit配置文件:

<phpunit bootstrap="./bootstrap.php"> 
    <testsuite name="Application Test Suite"> 
     <directory>./application</directory> 
    </testsuite> 
    <testsuite name="Library Test Suite"> 
     <directory>./library</directory> 
    </testsuite> 

    <filter> 
     <whitelist> 
      <directory>../../library/Zend</directory> 
      <exclude> 
       <directory suffix=".phtml">../application/</directory> 
       <file>../application/Bootstrap.php</file> 
       <file>../application/controllers/ErrorController.php</file> 
      </exclude>   
     </whitelist> 
    </filter> 

    <logging> 
     <log type="coverage-html" target="./log/report" charset="UTF-8" yui="true" 
      hightlight="true" lowupperbound="50" highlowerbound="80"> 
      <log type="testdox" target="./log/testdox.html"> 
      </log> 
     </log> 
    </logging> 
</phpunit> 

回答

1

我解決了這一問題...

我需要明確指定白名單中的我的應用程序文件夾。如果它爲空,則代碼覆蓋率報告僅從'c:'開始,並嘗試查找每個'.php'文件。

加入線在白名單中後段:

它按預期工作。

由於我的測試文件夾中沒有任何庫測試,包括Zend庫文件夾可能沒有任何作用,報告必須考慮白名單爲空。而且因爲沒有黑名單,它只是從根開始。

0

代碼覆蓋範圍從包含在報告中的所有文件的最常見路徑開始。因此,如果您的web根目錄位於/ var/www並且您將庫包含在/ usr/local/zend目錄中,那麼最常見的路徑將是根路徑。

解決方法是排除庫路徑,因爲通常您不想測量外部庫的代碼覆蓋率。

相關問題