我使用PHP 5.3和SimpleTest,但更普遍的答案是值得歡迎的。每個插件將是一個擴展抽象類的類...我如何測試這個接口的工作正常?我是否必須創建幾個插件並對其進行測試?還是有更令人滿意的方式?如何測試使用抽象類的插件接口?
作爲一個例子,想象寫一些東西代表金錢。用戶可以使用不同的貨幣類別進行擴展。
抽象類理財
{
私有靜態$符號;
private static $ num_decimals;公共職能__construct($量){...}
公共職能__toString(){...}
}
然後一個插件是這樣的:
GBPound類延伸Money
{
private static $ symbol =「£」;
private static $ num_decimals = 2;
}
也許我可以模仿多重繼承,擴展單元測試類和貨幣類,但這種情況可能會導致混亂!
這很困難,因爲單元測試是關於測試接口的,但類本身是插件接口。
問題是什麼?爲什麼你不能只測試'GBPound'類? – NOtherDev 2010-10-28 09:17:42
因爲我想測試製作「GBPound」類或其他任何類的組合的能力。如果班級在安哥拉有用戶,我希望他們能夠使用該界面創建一個ANKwanza班。 – 2010-10-28 09:28:30
爲什麼你需要英鎊?英鎊兌不是特別的,它不可能僅用貨幣來代表。只需使構造函數所需的$ symbol和$ num_decimals參數成爲非靜態的即可。您也可能想將貨幣重命名爲貨幣。 – Gordon 2010-10-28 09:33:48