При тестировании с помощью PHPSpec, как я могу использовать интерфейсы классов, внедренные в мои методы, а не фактический конкретный класс?
Например, у меня есть класс Product
, который вводит VariationInterface
в метод:
/**
* ...
*/
public function addVarient(VarientInterface $varient)
{
return $this->varients->add($varient);
}
Хотя, поскольку PHPSpec не имеет контейнера IOC для привязки VarientInterface
к Varient
, я не могу проверить свои классы.
Разве не лучше всего кодировать интерфейс, а не конкретный класс?