0

1) phpunit でセレンを使用しました。phpunit のコード カバレッジを使用しようとしましたが、1 つ疑問があります。このコード カバレッジは単体テスト (または) 機能テストのみに使用されますか?しかし、コードがカバーされていない場合、結果は0%カバーされています.plsは私に明確な説明をします. コード例:

<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1381493785">
  <project timestamp="1381493785">
    <metrics files="0" loc="0" ncloc="0" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
  </project>
</coverage>
4

1 に答える 1

0

コード カバレッジは、単体テストの実行時にのみ生成する必要があります。また、PHPUnit は、対象となるコードを直接実行する場合にのみ、コード カバレッジを作成できると考えています。Selenium を使用する場合、コードは間接的に (おそらく別のマシンで) 実行されるだけであり、カバーすることはできません。

では、なぜ単体テストだけなのでしょうか? コード カバレッジは、単体テストでテストされていない行を見つけるのに役立つはずだからです。

機能テストではないのはなぜですか?これらはすべての部分の合計が一緒に機能することを証明するために存在するため、完全なカバレッジを得るために入力のすべての可能な組み合わせを反復する必要はありません。フォーム検証が既に実行を停止しているため、モデル内でエラー状態をトリガーする入力がそれに到達することさえできないため、不可能でさえあるかもしれません。

于 2013-10-17T19:58:24.767 に答える