ホームページ >バックエンド開発 >PHPチュートリアル >PHP 単体テストとエラー処理の実践
単体テストでは、PHPUnit フレームワークを通じてコードを簡単かつ迅速にテストでき、エラー処理では例外を使用してランタイム エラーをキャッチして処理します。例外処理では try...catch ステートメントを使用して例外をキャプチャしますが、エラー レポートでは error_reporting() を使用してエラー タイプを設定し、trigger_error() を使用してエラーをアクティブにトリガーします。
#PHP 単体テストとエラー処理の実践
はじめに
単体テストとエラー処理はソフトウェア開発の重要な側面です。 PHP は、堅牢で保守可能なコードを作成するのに役立つツールとベスト プラクティスの包括的なセットを提供します。この記事では、PHP 単体テストとエラー処理を効果的に使用する方法について説明します。単体テスト
PHPUnit の概要
PHPUnit は、PHP の主要な単体テスト フレームワークです。コードを迅速かつ簡単にテストできるように、さまざまなアサーション、モック、スタブが提供されます。実際的なケース
単純な計算関数である次のコード スニペットを考えてみましょう。function calculate($a, $b, $operation) { switch ($operation) { case 'add': return $a + $b; case 'subtract': return $a - $b; default: throw new InvalidArgumentException('Invalid operation'); } }PHPUnit を使用して単体テストを作成できます。この関数を次のようにテストします。
use PHPUnit\Framework\TestCase; class CalculatorTest extends TestCase { public function testAdd() { $this->assertEquals(5, calculate(2, 3, 'add')); } public function testSubtract() { $this->assertEquals(1, calculate(3, 2, 'subtract')); } public function testInvalidOperation() { $this->expectException(InvalidArgumentException::class); calculate(1, 2, 'multiply'); } }
エラー処理
例外処理
PHP の例外が使用されます。処理用の特別なオブジェクトです。実行時エラー。次のようにtry...catch ステートメントを使用して例外をキャッチして処理できます。
try { // 代码可能会抛出异常 } catch (Exception $e) { // 捕获异常并进行处理 }
エラー報告
PHP エラー報告は次の目的で使用されます。エラー メッセージと警告をコードに記録します。error_reporting() 関数を使用して、報告されるエラーの種類を構成したり、
trigger_error() 関数を使用してエラーをアクティブにトリガーしたりできます。
実際的なケース
存在しないファイルを開こうとする次のコード スニペットを考えてみましょう:$handle = fopen('nonexistent.txt', 'r');エラー処理を使用すると、次のことができます。キャッチして処理する このエラーは次のようになります:
set_error_handler(function($errno, $errstr, $errfile, $errline, $errcontext) { echo 'Error: ' . $errstr . "\n"; }); try { $handle = fopen('nonexistent.txt', 'r'); } catch (Exception $e) { // 该异常在错误处理程序中被捕获,因此不会执行 }
以上がPHP 単体テストとエラー処理の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。