1
PHPSpec으로 테스트 할 때 실제 구체적인 클래스가 아닌 내 메소드에 주입 된 클래스 인터페이스를 어떻게 사용할 수 있습니까?PHPSpec을 사용할 때 클래스 인터페이스를 사용하는 방법
예를 들어 나는 방법에 VariationInterface
를 주입 Product
클래스가 :
/**
* ...
*/
public function addVarient(VarientInterface $varient)
{
return $this->varients->add($varient);
}
비록 PHPSpec 난 정말 내 수업을 테스트하지 못할
VarientInterface
Varient
에 결합 할 IOC 컨테이너가 없기 때문에.
구체적인 클래스가 아닌 인터페이스에 코드를 작성하는 것이 좋지 않습니까?
당신은 인터페이스가 아닌 구체적인 클래스에 코딩해야 조롱에 대해 offical 한 phpspec documentaion 확인하시기 바랍니다. 그러나 그것은 당신이하는 것이 아닙니다. 인터페이스에 "add"메서드가 없으므로 구현에 대해 실제로 코딩하는 것입니다. 또한 phpspec 문제 추적기에 대한 답변 : https://github.com/phpspec/phpspec/issues/584#issuecomment-67090359 –