simpletest フレームワークで単体テストを行っており、コード カバレッジ レポートに xdebug を使用しています。私の問題を説明させてください:
- クラスの名前がpagination.phpであると仮定してテストしたいクラスがあります。
- テスト用に別のクラスを作成します。ページネーション クラスをテストするために 2 つのテスト ケースを作成しました。
- 2 つのテスト ケースで約 12 のアサーションがあり、正しい結果「合格」が得られます。
- ここで、コード カバレッジ レポートを生成したいと考えています。このために、xdebug を使用して、テスト ケースがすべてのコードをカバーしているかどうかを示します。xdebug_start_code_coverage() 関数を使用し、結果を表示するには xdebug_get_code_coverage() 関数を使用します。
問題は、 xdebug_get_code_coverage() を出力すると、ファイル名、行番号、実行時間の2次元連想配列が得られることです。結果は次のようになります。
array
'path/to/file/pagination.php' =>
array
11 => int 1
113 => int 1
11行目は授業開始、113行目は授業終了です。クラス内に入らない理由と、クラス関数のステートメントカバレッジを提供しない理由がわかりません。しかし、私のテストケースは問題ないように見え、すべての条件と分岐カバーが機能していることを知っています。
この点で私を助け、この問題を解決する方法を教えていただければ幸いです。
多分私はここで何かを逃した。さらに何かご希望がございましたら、お知らせください。