コンポジションを使用すると、テスト対象のクラスが依存する他のオブジェクトをモックできますが、継承を使用すると、基本クラスをモックできません。(またはできますか?)
私は通常、継承よりも構成を優先しようとしますが、継承が実際に仕事に最適なツールのように思えることがあります-まあ、少なくとも単体テストになるまでは。
では、どのように継承をテストしますか? それとも、テスト不可能として破棄し、代わりにコンポジションを使用しますか?
注:私は主に PHP と PHPUnit を使用しています。しかし、他の言語でこの問題の解決策があるかどうかを知ることも興味深いでしょう.