@abel
В PHPSpec зависимости класса объявляются через метод let()
в начале спецификации класса.
1 2 3 4 5 6 7 8 9 10 11 |
use AppSomeClass; class MySpec extends PhpSpecObjectBehavior { function let(SomeClass $dependency) { $this->beConstructedWith($dependency); } // ... } |
В приведенном примере SomeClass
является зависимостью класса, который вы хотите протестировать. Зависимость передается через конструктор класса MySpec
с помощью метода beConstructedWith()
.
Теперь вы можете использовать зависимость $dependency
в своих спецификациях класса. Например:
1 2 3 4 |
function it_does_something(SomeClass $dependency) { // использование зависимости $dependency для проверки какого-либо поведения } |
Обратите внимание, что в PHPSpec классы зависимостей могут передаваться и как аргументы методов спецификации (как в примере выше), так и как переменные экземпляра класса (объявленные внутри let()
). В любом случае, PHPSpec будет автоматически создавать экземпляры зависимостей и передавать их в методы/конструкторы, в которых они объявлены.
@abel
Этот пример показывает, как объявить зависимости для класса в PHPSpec, чтобы их использовать при тестировании функциональности этого класса.