2015-10-15 65 views
4

我使用Codeigniter3框架和phpunit包ci-phpunit-test。 我在啓用zend調試器的zend服務器上運行php。使用Jetbrains覆蓋PHPUnit 0%PHPStorm

我phpunit.xml文件是存在的:

<phpunit 
    bootstrap="./Bootstrap.php" 
    colors="true" 
    testsuite="CodeIgniter Application Test Suite"> 
    <testsuites> 
     <testsuite name="CodeIgniter Application Test Suite"> 
      <directory suffix="test.php">./</directory> 
      <exclude>./_ci_phpunit_test/</exclude> 
     </testsuite> 
    </testsuites> 
    <filter> 
     <whitelist> 
      <directory suffix=".php">../controllers</directory> 
      <directory suffix=".php">../models</directory> 
     </whitelist> 
    </filter> 
</phpunit> 

我運行使用圖標與綠色播放和破折號代碼覆蓋率的執行,這個運行以下命令:

"C:\Program Files (x86)\Zend\ZendServer\bin\php.exe" -dzend_debugger.enable_coverage=1 C:/Users/NICOLAS/AppData/Local/Temp/ide-phpunit.php --configuration C:\....\phpunit.xml 

運行後成功完成所有測試後,Coverage PHPUnit側欄會打開,並且只顯示0%的覆蓋率(我確信測試會通過很多代碼)。

這裏是我所得到的:

enter image description here

UPDATE:一些更多的信息.​​.. 當我加入這個在phpunit.xml文件,它告訴我沒有啓用Xdebug的:

<logging> 
    <log type="coverage-html" target="build/coverage"/> 
    <log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/> 
</logging> 

因此,我試圖啓用xdebug調試器,測試veeeeeery運行速度慢,我得到了建設/覆蓋率文件夾中的HTML報告。這很好,但沒有集成到PHPStorm環境中。

所以我回到了zend調試器,並嘗試PHPStorm功能(刪除phpunit.xml中的日誌部分)。測試很快運行,但覆蓋率保持在0%...

+0

@craig_h是的,我敢肯定,我得到的測試與全部通過測試報告(我也可以調試到它們) –

+0

@craig_h我有「顯示選項」檢查和「激活行業評級」檢查 –

+0

@craig_h添加'/ ** @ test ** /'不會改變任何東西 –

回答

1

我有同樣的問題,並且這個answer做了伎倆。

通過將項目根改爲絕對路徑(/ media/hdd/...)我能夠解決問題。

+0

我有同樣的問題,它爲我工作。我在一個包含符號鏈接的路徑後打開了項目,所以我的項目根目錄中有一個符號鏈接。當我使用已解析的符號鏈接打開項目時,代碼覆蓋率已運行。 – Pitt