環境:
互いに継承するいくつかのモジュールがあるとします ( Moose などではなく、 base
andを使用した昔ながらの継承を使用します)。継承し、継承します。これらのモジュールのすべてには、 で書かれたテスト スイートがあります。子クラスのテスト スイートは、それが実装するメソッドのみをテストします。子クラスは、親にない新しいメソッドを追加する場合がありますが、必ずしも親のすべてのメソッドをオーバーライドするわけではありません。parent
Foo::Bar
Foo
Foo::Bar::Baz
Foo::Bar
Test::More
質問:
Test::More
サブクラス固有の動作をテストするだけでなく、継承された動作/親クラスのテストスイートも実行するテストを作成できるテストフレームワーク、手法、または機能はありますか? 基本的に、サブクラスのユニークな/特別な動作のテストを作成できるものを探していますが、サブクラスがその親クラスが期待されるのと同じようにテストで動作することもテストして確認します.
私が試したこと:
文字列で指定されたモジュールのインスタンスを構築し、要求されたモジュールのタイプに応じてそれに対してテストを実行するジェネレーター メソッドを使用して、非常に単純なテスト ハーネスを作成しました (サブクラス/スーパークラスの階層を追跡する中央ハッシュがあります)。 、しかし、これは粗雑に思えます。私は、(私が Perl で行う必要があるほとんどのことと同様に) 他の誰かが、はるかにエレガントで堅牢な方法でこれを既に行っていると想定しています。