PHP 5.3とSimpleTestを使用していますが、より一般的な回答を歓迎します。各プラグインは抽象クラスを拡張するクラスになります...このインターフェイスが正しく機能することをテストするにはどうすればよいですか?複数のプラグインを作成してテストする必要がありますか?それとももっと満足のいく方法がありますか?
例として、お金を表す何かを書くことを想像してみてください。ユーザーはこれをさまざまな通貨クラスで拡張できます。
抽象クラスMoney
{
privatestatic $ symbol;
プライベート静的$num_decimals;public function __construct($ amount){...}
public function __toString(){...}
}
その場合、プラグインは次のようになります。
クラスGBPoundはMoneyを拡張します
{ privatestatic
$ symbol="£";
private static $ num_decimals = 2;
}
おそらく、UnitTestクラスとmoneyクラスを拡張して、多重継承をエミュレートすることはできますが、それは面倒になる可能性があります。
単体テストはインターフェイスのテストに関するものであるため、非常に困難ですが、クラス自体はプラグインインターフェイスです。