PHPSpec でテストする場合、実際の具体的なクラスではなく、メソッドに注入されたクラス インターフェイスを使用するにはどうすればよいですか?
たとえば、メソッドに aProduct
を注入するクラスがあります。VariationInterface
/**
* ...
*/
public function addVarient(VarientInterface $varient)
{
return $this->varients->add($varient);
}
ただし、PHPSpec にはバインドする IOC コンテナーがないVarientInterface
ためVarient
、クラスを実際にテストすることはできません。
具象クラスではなくインターフェイスにコーディングするのがベスト プラクティスではありませんか?