如何测试使用抽象类的插件接口?

时间:2010-10-28 09:13:41

标签: php unit-testing abstract-class simpletest

我正在使用PHP 5.3和SimpleTest,但欢迎提供更一般的答案。每个插件都是一个扩展抽象类的类...如何测试这个接口是否正常工作?我是否必须创建几个插件并对其进行测试?还是有更令人满意的方式?

作为一个例子,想象一下写一些代表金钱的东西。用户可以使用不同的货币类扩展它。

  

抽象类钱   {
   private static $ symbol;
   private static $ num_decimals;

     

公共职能__construct($ amount){...}
   public function __toString(){...}
  }

然后插件看起来像这样:

  

类GBPound扩展了货币   {
   private static $ symbol =“£”;
   private static $ num_decimals = 2;
  }

也许我可以模仿多重继承,扩展UnitTest类和金钱类,但这可能会变得混乱!

这很难,因为单元测试是关于测试接口,但类本身是插件接口。

2 个答案:

答案 0 :(得分:1)

不确定simpletest,但PHPUnit可以创建抽象类的模型,允许您直接测试它们。

答案 1 :(得分:0)

我决定通过创建一个空的插件类来测试界面。对我而言,这似乎比模拟抽象类更清晰。 (但是由于其他原因,我正在将所有测试迁移到PHPUnit。)