PHPUnit および @dataProvider アノテーションを使用すると、PHP 関数のパラメーターの型を単体テストできます。 テスト クラスを作成します。 @dataProvider を使用して、さまざまな種類のデータを提供します。テスト メソッドでは、assertType() を使用してパラメーターの型をアサートします。
#PHP 関数パラメータ型の単体テスト
単体テストは、関数またはメソッドが期待どおりに動作することを検証するプロセスです。 PHP では、単体テストに PHPUnit ライブラリを使用できます。PHPUnit 単体テスト関数のパラメーター タイプの使用
class MyFunctionTest extends \PHPUnit\Framework\TestCase { public function testTypeHint() { // ... } }
アノテーションを使用して、タイプヒント付きのテスト データを提供します。
/** * @dataProvider typeHintProvider */ public function testTypeHint() { // ... } public function typeHintProvider() { return [ ['int', 1], ['string', 'foo'], ['array', []], ]; }
パラメータの型をアサートします:
public function testTypeHint() { $this->assertType($hint, $arg); }
実用的なケース
次の関数を考えてみましょう:
function sum(int $a, int $b) { return $a + $b; }
対応する単体テスト:
class SumTest extends \PHPUnit\Framework\TestCase { /** * @dataProvider typeHintProvider */ public function testTypeHint($hint, $arg) { $this->assertType($hint, $arg); } public function typeHintProvider() { return [ ['int', 1], ['int', '1'], // 失败,'1' 不是 int 类型 ['string', 'foo'], ['array', []], ]; } }この単体テストを実行すると、関数
sum のパラメーターの型が期待どおりにチェックされていることを確認できます。
以上がPHP 関数パラメータ型の単体テストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。