phpunitユニットテストコードカバレッジ
Phpunit Unit Test Code Coverage
最近、チームはプロジェクトの単体テストケースを絶えず改善しており、コードカバレッジ分析を使用します。当初、homesteadにはデフォルトでxdebugをインストールする必要があると考えられていたため、phpunit --coverage-html ./tests/codeCoverage
を使用しますHTMLレポートを生成するが、実行後に次のエラーが表示される
Error: No code coverage driver is available
これは、xdebugがインストールまたは有効化されていないためです。
個人的な環境:
PHP 7.2.0-1 + ubuntu16.04.1
xdebugをインストールします
$ wget https://xdebug.org/files/xdebug-2.6.0.tgz $ tar xvzf xdebug-2.6.0.tgz $ cd xdebug-2.6.0 $ phpize7.2 $ ./configure --enable-xdebug $ make $ sudo make install
PHPのxdebugを有効にする
find /usr/ -name 'xdebug.so'
/usr/lib/php/20170718/xdebug.so //xdebug 2.6.0 version just installed /usr/lib/php/20131226/xdebug.so /usr/lib/php/20160303/xdebug.so /usr/lib/php/20151012/xdebug.so
vi /etc/php/7.2/cli/php.ini
次のコードをphp.ini
に追加します最後に
zend_extension='/usr/lib/php/20170718/xdebug.so' xdebug.remote_enable = 1 xdebug.remote_connect_back = 1 xdebug.remote_port = 9000 xdebug.max_nesting_level = 500
ビルドコードカバレッジレポート
2つの方法があります:
1.直接実行phpunit --coverage-html ./tests/codeCoverage
コマンド
2. In phpunit.xml
次のコードを追加します。
<logging> <log type='coverage-html' target='./tests/codeCoverage' charset='UTF-8'/> logging>
次に、直接実行しますphpunit
それでおしまい。
完了はtests/codeCoverage
になります次のように、ディレクトリの下にhtmlレポートを生成します。
この分析を通じて、単体テストの改善、コードテストの整合性の確保、およびコードの堅牢性の向上に役立ちます。
ディスカッション交換