profaim.base での単体テストサポート
プログラムの品質向上やリファクタリング時のリスク軽減などの目的で単体テストツールの利用が増えている様です。 profaim.base でも 単体テスト機能を基盤レベルで実装しようと考えていました。
profaim.base は PHP4 で作成しているため、最初は PHPUnit を profaim.base 基盤から呼び出す機能を作成しようと考えていたのですがこの案は中止の方向です。
PHPUnit を使用してテストケースを作成するには、「テストクラスを継承した新たなクラスを定義して所定のコンストラクタと任意のテストメソッドを実装。 そのテストケースのインスタンスを作成してテストを実行する」という手続きが必要となるため少しめんどくさいからです。
基盤で単体テストをサポートしていると言うなら 「関数を定義しておけばそれがテストケースとして実施される」 くらいの簡単さが欲しいと考えました。そのためテストクラスを継承したクラスを作成しなければならない PHPUnit を適用するのは難しく1からテストアルゴリズムを実装した方が簡単になると思います。
PHPUnit には テスト評価用のメソッドがたくさん用意されていますが、単純なテストであれば 期待する値と実際の値が一致するか否かを評価するメソッドが1つあれば最低足りると思ってます。
以上の理由から、profaim.base 基盤では PHPUnit を使用せずに簡易的な単体テスト機能を独自に実装する方向で進めていこうと思います。