PHP 開発者にとって、コード カバレッジ テストに PHPUnit を使用することは非常に重要なタスクです。コード カバレッジ テストは、開発者が作成したコードにテストされていない部分がないか、テスト カバレッジが十分に高いかどうかを確認するのに役立ちます。この記事では、コードカバレッジテストにPHPUnitを使用する方法を紹介します。
まず、PHPUnit をインストールする必要があります。 Composer を使用して PHPUnit をインストールできます:
composer require --dev phpunit/phpunit
インストールが完了したら、ターミナルで次のコマンドを実行して、PHPUnit が正常にインストールされたかどうかを確認できます:
php vendor/bin/phpunit --version
次に、テスト PHPUnit を実行する前に構成してください。プロジェクトのルート ディレクトリに次の内容の phpunit.xml ファイルを作成します。
<?xml version="1.0" encoding="UTF-8"?> <phpunit backupGlobals="false" backupStaticAttributes="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false"> <testsuites> <testsuite name="Example Test Suite"> <directory>tests</directory> </testsuite> </testsuites> <filter> <whitelist processUncoveredFilesFromWhitelist="true"> <directory suffix=".php">src</directory> </whitelist> </filter> </phpunit>
この構成ファイルは、テスト実行時にどのファイルを含める必要があるかを PHPUnit に指示し、テスト実行中のいくつかのエラーも構成します。
テスト コードを記述する前に、以下の簡単な例を見てみましょう:
<?php class Foo { public function bar() { return true; } }
これは非常に単純な PHP クラスで、 bar() というパブリック メソッドが含まれており、ブール値を返します。価値。次に、このクラスのテストを作成して、期待どおりに動作することを確認する必要があります。 FooTest.php という名前のテスト ディレクトリに次の内容のテスト ファイルを作成します。
<?php use PHPUnitFrameworkTestCase; class FooTest extends TestCase { /** @test */ public function it_should_return_true() { $foo = new Foo; $this->assertTrue($foo->bar()); } }
このテストは非常に簡単です。クラス Foo をインスタンス化し、その bar() メソッドが true を返すことを確認します。これで、テストを実行し、PHPUnit によって生成されたカバレッジ レポートを表示できるようになりました。ターミナルで次のコマンドを実行します。
php vendor/bin/phpunit --coverage-html coverage
このコマンドは HTML カバレッジ レポートを生成し、プロジェクト ルート ディレクトリの下のカバレッジ ディレクトリに保存します。レポートを開くと、クラス Foo のコード カバレッジが 100% であることがわかります。これは、私たちが作成したテストがクラス Foo のすべてのコードをカバーしたことを意味します。
一般に、PHPUnit は、高品質の PHP コードを作成するのに役立つ非常に強力なテスト ツールです。コード カバレッジ テストは PHPUnit の重要な機能であり、作成したテストがコードのあらゆる部分をカバーしていることを保証します。プロジェクトのコード カバレッジ テストに PHPUnit を使用すると、コードの品質が大幅に向上し、潜在的なエラーや抜け穴を回避できます。
以上がPHP開発におけるコードカバレッジテストにPHPUnitを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。