我正在使用 PHP 5.3 和 SimpleTest,但欢迎提供更一般的答案。每个插件都将是一个扩展抽象类的类......我如何测试这个接口是否正常工作?我必须创建几个插件并测试它们吗?还是有更满意的方式?
例如,想象写一些东西来代表金钱。用户可以使用不同的货币类别来扩展它。
抽象类 Money
{
私有静态 $symbol;
私人静态 $num_decimals;公共函数 __construct($amount) { ...}
公共函数 __toString() { ... }
}
然后一个插件看起来像这样:
类 GBPound 扩展货币
{
private static $symbol = "£";
私有静态 $num_decimals = 2;
}
也许我可以模拟多重继承,扩展 UnitTest 类和 money 类,但这可能会变得一团糟!
之所以这么难,是因为单元测试就是测试接口,而类本身就是插件接口。