2016-09-20 7 views
0

PHPUnit 5.5.4およびXDebug 2.4.1でPHP 5.6.24を使用していますが、コードカバレッジは0,83%に達しています。 しかし、PHPUnit 4.7.7とXDebug 2.3.3でPHP 5.6.0を使用する前に、コードカバレッジが84%を超えました。PHPUnit 5.5.4にアップグレードした後のコードカバレッジレポートが正しくありません

PHP 5.5.x以降、phpunit.xmlにホワイトリストを設定する必要があることが分かりました。これは私のために新しいだったので、私は、次のファイルを追加しました:

<?xml version="1.0" encoding="UTF-8"?> 
<phpunit> 
    <filter> 
     <whitelist processUncoveredFilesFromWhitelist="true"> 
      <directory suffix=".php">./</directory> 
      <file></file> 
     </whitelist> 
    </filter> 
    <logging> 
     <log type="coverage-html" target="../results/report" lowUpperBound="35" highLowerBound="70"/> 
    </logging> 
    <testsuites> 
     <testsuite name="DTS"> 
      <directory>./</directory> 
     </testsuite> 
    </testsuites> 
</phpunit> 

ユニットテストはまだ動作します。コマンドラインでそれらを実行すると、すべてのテストが正常に実行されたことがわかりますが、これは奇妙な結果をもたらすコードカバレッジレポートに過ぎません。

答えて

0

私は5.5.4を実行しています。これは最新の安定リリースです。5.6はベータリリースです。私はそれがうまくいくかどうかを確認するために伐採を追加しました。レポートディレクトリにあるHTMLレポートが生成され、パーセンテージが正しく表示されました。ここに私のphpunit.xmlファイルは、だから、ベータ版のリリースかもしれないが、あなたは少なくとも私のxmlファイルを参照してください、それは5.5.4で動作することを知ることができる

<?xml version="1.0" encoding="UTF-8"?> 
<phpunit colors="true" bootstrap="vendor/autoload.php"> 
    <testsuite name="Full Suite"> 
     <directory>tests/</directory> 
    </testsuite> 
    <filter> 
     <whitelist processUncoveredFilesFromWhitelist="true"> 
      <directory suffix=".php">src</directory> 
     </whitelist> 
    </filter> 
    <logging> 
     <log type="coverage-html" target="report"/> 
    </logging> 
</phpunit> 

です。がんばろう!

+0

ありがとうございます。私はあなたのファイルを(パスを変更して)基礎として使っていましたが、私はまだ同じ結果を得ました。 (私も最新の安定版PHPUnit 5.5.4を使用していますが、ベータ版を試したことはありません) – Tornado

+1

これはあまりにも悪いことです。 PHPUnit 5.6、ベータ版の混乱)...私はPHP 5.6も実行しています。何らかの簡単なテストケースを設定し、それが実行されているかどうかだけであなたの環境をチェックすることを提案することができます。がんばろう! – Katie

+0

phpunitにはフォルダ/テスト構造に関する特定の要件がありますか?すべてのテストケースを見つけて実行するので、私はそれを疑うでしょうか? 私の3793テストはすべて正常に実行されますが、13/822テストメソッドだけがコードカバレッジを持っていることがわかります。 – Tornado

関連する問題