PHPSpec を使用して PHP 機能を拡張する方法: PHPSpec ライブラリを紹介します。仕様クラスを作成し、beConstructedWith() を使用してコンストラクター内でコンストラクター パラメーターを指定します。
PHPSpec を使用して PHP 機能を拡張する方法
PHPSpec は、PHP アプリケーションを作成するための動作駆動開発 (BDD) フレームワークです。仕様。簡潔で読みやすい構文を使用して予想される動作を指定できるため、テスト プロセスが簡素化されます。
PHP 関数を拡張するには、PHPSpec の beConstructedWith()
メソッドを使用できます。このメソッドを使用すると、コンストラクターが受け入れる必要があるパラメーターを指定できます。
使用方法:
require 'path/to/phpspec/vendor/autoload.php';
use PHPSpec2\ObjectBehavior; class MyFunctionSpec extends ObjectBehavior { function it_is_initializable() { $this->shouldHaveType('closure'); } }
class MyFunctionSpec extends ObjectBehavior { function it_is_initializable() { $this->shouldHaveType('closure'); } function it_accepts_array_argument() { $this->beConstructedWith([1, 2, 3]); $this->shouldHaveType('closure'); } }
実用的なケース:
パラメータを受け取る add()
関数があるとします。 PHPSpec を使用して、add()
関数の動作を指定できます:
add() 関数:
function add(array $numbers) { return array_sum($numbers); }
PHPSpec 仕様:
use PHPSpec2\ObjectBehavior; class AddFunctionSpec extends ObjectBehavior { function it_is_initializable() { $this->shouldHaveType('closure'); } function it_calculates_the_sum_of_numbers() { $this->beConstructedWith([1, 2, 3]); $this->invoke()->shouldEqual(6); } }
仕様では、add()
関数はインスタンス化可能であり、[1, 2, 3]
を次のように受け取ると 6 を返すと主張します。引数。
以上がPHPSpec を使用して PHP 関数を拡張するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。