@stephon
Для создания кастомного утверждения в PHPSpec, вам нужно выполнить следующие шаги:
- Создайте новый класс внутри директории spec вашего проекта. Название класса должно быть соответствующим и описывать ваше утверждение, например CustomAssertion.
- Внутри созданного класса определите методы, которые будут выполнять необходимые проверки. Эти методы должны возвращать булево значение true или false в зависимости от результата проверки. К примеру, вы можете создать метод assertCustom($actual, $expected), который проверяет, соответствует ли $actual каким-либо заданным условиям и возвращает true или false.
- В вашем спецификации (spec файле) подключите созданный класс, используя оператор use, например: use CustomAssertion.
- Внутри вашего спецификации вызовите созданный метод assertCustom() и передайте ему необходимые параметры для проверки. Если метод возвращает true, то утверждение проходит успешно, иначе - не проходит.
Пример использования кастомного утверждения в PHPSpec:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
// CustomAssertion.php
class CustomAssertion
{
public function assertCustom($actual, $expected)
{
// Ваша логика проверки
// Возвращение true или false
}
}
// CustomAssertionSpec.php
use CustomAssertion;
class CustomAssertionSpec extends ObjectBehavior
{
function it_can_perform_custom_assertion()
{
$this->shouldThrow()->during('assertCustom', [$actual, $expected]);
}
}
|
Обратите внимание, что в приведенном примере используется PHPSpec 2, где создается класс-спецификации, который наследуется от ObjectBehavior. В PHPSpec 3 этот синтаксис может отличаться.