PHPのインラインテスト

インラインテストは、テストスクリプトのDOCコメントに直接組み込まれたテストです。 私の知る限り、このようなチップはPythonにありますが、明確な説明は見つかりませんでした。 いずれにせよ、インラインテストには従来のテストと比較して多くの利点があるため、このアイデアが気に入っています。 したがって、PHPでこのようなテストを実行するためのツールに注目したいと思います。



では、従来の単体テスト(PHPUnitなど)と比較したインラインテストの利点は何ですか?



メリット



  1. テストの追加の単純さと速度 :もちろん、テストを作成したい場合もありますが、このためにこのクラス(App_Module_Classなど)のフォルダーの階層全体を作成し、ファイルとテストクラスを作成して同じ退屈なコードを作成する必要があることを覚えている場合チェックしてから、このPHPUnitの場所と正しく実行する方法を探します。 テストが複雑で重要な場合、これを行うのは残念ではありませんが、単純な場合は...
  2. インラインテストは、メソッドのドキュメントを補完/置換できます 。実際、プログラマは、説明を読むよりも、返すパラメータやパラメータを読むことで、コードの本質を理解しやすい場合があります。
  3. インラインテストはクラスのプライベートメソッドに対しても記述できます。スタートアップスクリプトは実際にコンテキストから関数とメソッドを抽出するため、それらがプライベートであるかパブリックであるかは関係ありません。
  4. それらは失われることはありません 。テストは常にコードで行われます。




もちろん、このようなテストの範囲は非常に狭く、2つの制限があります。



制限事項



  1. 単純なテストにのみ適しています 。まず、コメントの1行にテストを収める必要があり、次に、いくつかの機能の相互接続を使用して複雑なテストを記述できません。
  2. 孤立した関数/メソッドにのみ適しています 。関数は、引数と戻り値を介してのみ外部と通信する必要があります。




以下のテスト実行スクリプトをダウンロードできますgithub.com/ptrofimov/phpinlinetest



PS PHPUnitはアサートタグを使用てテストを自動生成するため、互換性を保つために同じ名前のままにすることにしました。



All Articles