2

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

例如,想象写一些东西来代表金钱。用户可以使用不同的货币类别来扩展它。

抽象类 Money
{
私有静态 $symbol;
私人静态 $num_decimals;

公共函数 __construct($amount) { ...}
公共函数 __toString() { ... }
}

然后一个插件看起来像这样:

类 GBPound 扩展货币
{
private static $symbol = "£";
私有静态 $num_decimals = 2;
}

也许我可以模拟多重继承,扩展 UnitTest 类和 money 类,但这可能会变得一团糟!

之所以这么难,是因为单元测试就是测试接口,而类本身就是插件接口。

4

2 回答 2

1

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

于 2010-10-28T09:25:23.423 回答
0

我决定通过创建一个空插件类来测试接口的想法。对我来说,这似乎比模拟一个抽象类要干净得多。(但是由于其他原因,我正在将所有测试迁移到 PHPUnit。)

于 2010-11-11T11:04:05.160 回答