Предположим, что у меня есть класс, который содержит функцию, которая использует тип hinting следующим образом:
class Testable
{
function foo (Dependency $dependency)
{
}
}
И я хочу unit test этот класс Testable
с помощью этого кода:
$dependencyMock = $this->getMockBuilder('Dependency')
->disableOriginalConstructor()
->getMock();
$testable = new Testable($dependencyMock);
Если я использую PHPUnit для создания заглушки зависимости $, а затем попытаюсь вызвать функцию foo
с помощью этого макета (например, выше), я получу фатальную ошибку, которая говорит:
Аргумент 1, переданный функции foo(), должен быть экземпляром Dependency, экземпляром Mock_Foo, заданным
Как я могу unit test выполнить эту функцию с помощью PHPUnit и еще заглушить $dependency
?