2012-01-16 8 views
9

PHPUnit(3.6.7)を使用してアプリケーションでコードカバレッジレポートを作成していますが、すべてがセットアップされ、期待どおりに機能しています。インターフェイスでPHPUnitコードカバレッジを使用する

インターフェイスを実装するクラスのテストがあるにもかかわらず、私のインターフェイス以外のすべてのコードを完全にカバーしています。レポートにはインターフェイスが実行されていないと記載されているだけです

インターフェイスをカバーする方法はありますか?それとも、コードカバレッジを無視するようPHPUnitに伝えたのでしょうか?

答えて

5

具体的なクラスのテストでは、親の抽象クラス/インタフェースからのメソッドをカバーするように指定できます。

Code Coverage Analysisのマニュアルの​​セクションを参照してください。

同じ章では、コードカバレッジ分析からコードブロックまたはファイル全体を無視する方法もあります。ただ、追加的な答えとして

+1

パーフェクト!ありがとうございました。これを遭遇する他の人のために、あなたは@covers Class_Name あなたのテストクラスのdocブロック –

+0

が必要です最新のマニュアルページへのリンク:https://phpunit.de/manual/current/en/code-coverage-analysis.html – shevron

+0

@shevron:ありがとう!私は今私の答えでリンクを更新しました。 – Mchl

1

インターフェイスには実行可能コードが含まれていないため、テストするものはありません。

+0

私はassertInstanceOf()で使用されても、直接テストするつもりはないので、コードカバレッジ内で "使用中"にしたいだけです –

5

のPHPUnit(3.7.)の次のリリースは、デフォルトでカバレッジのためのすべてのインタフェースを無視します。

したがって、何らかの種類のインクルードや、//@codeCoverageIgnoreの方法を使用する必要はありません。

関連する問題