2013-05-05 77 views
1

目前我正在做一個白盒測試,以便測試父類和所有接口。這包括他們所有,所以我添加文檔註釋:phpUnit代碼覆蓋率顯示沒有成功

/** 
* @covers \Pat\Environment\PHP\Autoloader\Psr0<extended> 
*/ 
public function testWhitebox() {} 

PHPUnit的運行成功,但該接口也不會出現在coverage.xml文件。無論排除與否。

<?xml version="1.0" encoding="UTF-8" ?> 
<phpunit bootstrap="bootstrap.php"> 
    <filter> 
     <blacklist> 
      <file>*Interface.php</file> 
     </blacklist> 
    </filter> 

    <logging> 
     <log type="coverage-clover" target="./coverage.xml"/> 
    </logging> 
</phpunit> 

phpStorm IDE繼續將其計爲文件並因此丟失。沒有這個問題,它將是100%的代碼覆蓋率。

Code coverage in phpStorm

它是開放的phpStorm和固定的IntelliJ IDEA。

http://youtrack.jetbrains.com/issue/WI-14785

任何已知的解決方法嗎?

+1

如何掩蓋的東西,根本不存在? *覆蓋率*是*代碼覆蓋率*。你(根據定義)沒有任何實現要在接口中測試。 – zerkms 2013-05-05 09:02:45

+0

那麼它算作一個文件,並且在XML中缺少。然後它取決於phpStorm或PHPUnit。 – LeMike 2013-05-05 09:44:33

+0

我不確定我是否正確理解了這個問題。接口不包含可執行代碼。你想如何測試它們?應該涵蓋什麼? – hakre 2013-05-05 09:56:59

回答

1

如何解決這個問題?

如果這有資格作爲一個bug /缺陷/新特性PHPStorm請求,可以將其作爲自己的issue tracker for PHPStorm (and other products)問題報告。

他們的工作人員會小心解決這個問題。


如果你不想去的路線,你可以忽略你的代碼覆蓋統計文件,因爲你不需要計算百分比時要考慮到這一點。

+0

謝謝。它在IntelliJ中解決,但沒有解決phpStorm。我看到了部隊討論,但這不起作用(請參閱上面的新信息)。仍在統計每個文件。 – LeMike 2013-05-05 10:41:30