我正在使用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类和金钱类,但这可能会变得混乱!
这很难,因为单元测试是关于测试接口,但类本身是插件接口。
答案 0 :(得分:1)
不确定simpletest,但PHPUnit可以创建抽象类的模型,允许您直接测试它们。
答案 1 :(得分:0)
我决定通过创建一个空的插件类来测试界面。对我而言,这似乎比模拟抽象类更清晰。 (但是由于其他原因,我正在将所有测试迁移到PHPUnit。)