目前我正在做一個白盒測試,以便測試父類和所有接口。這包括他們所有,所以我添加文檔註釋: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%的代碼覆蓋率。
它是開放的phpStorm和固定的IntelliJ IDEA。
http://youtrack.jetbrains.com/issue/WI-14785
任何已知的解決方法嗎?
如何掩蓋的東西,根本不存在? *覆蓋率*是*代碼覆蓋率*。你(根據定義)沒有任何實現要在接口中測試。 – zerkms 2013-05-05 09:02:45
那麼它算作一個文件,並且在XML中缺少。然後它取決於phpStorm或PHPUnit。 – LeMike 2013-05-05 09:44:33
我不確定我是否正確理解了這個問題。接口不包含可執行代碼。你想如何測試它們?應該涵蓋什麼? – hakre 2013-05-05 09:56:59