1
由於更多人嘗試測試抽象類,因此不要找到此解決方案。這不是我想要的。PHPSpec - 使用AbstractSpec進行測試
我有模式策略,所有的類都應該實現接口。 想要添加基本規格,其餘的應該擴展並添加自己的東西。
我應該在所有規格中重複我的代碼?現在
,我有2到策略規格:
function it_should_implements_LoadStrategyInterface()
{
$this->shouldBeAnInstanceOf(LoadStrategyInterface::class);
}
如何不重複自己?
我嘗試做AbstractStrategy
,但得到
Class 'spec\LoadStrategy\Strategies\AbstractStrategy' not found
我失去了一些東西?或者像這樣的代碼,是不是自動加載?或者,也許這是不好的做法?
後五個類與一個接口,你會有5個副本。任何關於該界面的測試,你都會複製。而且你接受,在界面的任何變化中,你將不得不改變5個規格和5個類。沒有沒有問題呢?幹? – timiTao
@timiTao你只是測試一個接口的實現。認爲這不是什麼大問題,因爲代碼也是文檔,在這種情況下,我更願意明確這一點。順便說一句,如建議,你可以寫一個超類,並在每個spec文件中擴展。 – DonCallisto