5

Netbeansのコードカバレッジチェック機能を動作させようとしています。私はWindowsXAMPPセットアップでPHPを使用しており、ユニットテストを実行するために正常に動作するように見えるPHPUnitをセットアップしています。

プロジェクトを右クリックして[コードカバレッジ>コードカバレッジの収集と表示]を選択すると、下部に「0%」という小さなバーが表示され、テストを実行してレポートを取得するオプションがあります。

テストを実行してレポートを確認しましたが、0%のままです。レポートを確認すると、「データがありません。コードを実行しましたか?」と表示されます。テストを再実行しようとしましたが、それでも実行されます。また、プロジェクトを実行するだけで、プロジェクトを「デバッグ」しても無駄になりました。

このトピックに関する最近の情報を入手するのは困難ですが、PHPUnitのドキュメントから判断すると、Xdebugに問題がある可能性があります(有効にしましたが、Netbeans内から使用したことがないため、正しく機能しているかどうかはわかりません) )。一部の古い情報源によると、Xamppには2つのphp.ini(1つはWeb用、もう1つはCLI用)がありますが、2つ目は見つかりません(これはその後変更されたと思います)。

Xdebug設定などのかなり基本的なものが不足していると確信しています...何か助けはありますか?

これが私のphp/php.iniファイルのXDebugセクションです。

[XDebug]
zend_extension = "D:\xampp\php\ext\php_xdebug.dll"
;xdebug.profiler_append = 0
;xdebug.profiler_enable = 1
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "\xampp\tmp"
;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
;xdebug.trace_output_dir = "\xampp\tmp"
4

1 に答える 1

7

おそらくこれが原因です:http://forums.netbeans.org/topic47374.html。どうやらPHPUnitはc:\で開始し、D:で何かをテストすることはできません。

したがって、-coverage-html / path / to / directory引数を使用して、コマンドラインからカバレッジレポートが必要なテストを実行します。

phpunit --bootstrap bootstrap.php --configuration phpunit.xml --coverage-html ./report ./unit

最後の引数(./unit)は、これがunit/サブディレクトリのalsテストをテストすることを意味します。

于 2013-01-30T07:46:01.220 に答える