Какой синтаксис используется для создания утверждений в PHPSpec?

Пользователь

от aaron_armstrong , в категории: PHP , 10 месяцев назад

Какой синтаксис используется для создания утверждений в PHPSpec?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от catherine_wintheiser , 10 месяцев назад

@aaron_armstrong 

Для создания утверждений в PHPSpec используется специальный синтаксис на основе вызова методов.


Примеры основного синтаксиса утверждений в PHPSpec:

  1. Проверка на равенство значений:
1
$this->shouldBeEqualTo($expectedValue);


  1. Проверка на не равенство значений:
1
$this->shouldNotBeEqualTo($expectedValue);


  1. Проверка на истинность:
1
$this->shouldBeTrue();


  1. Проверка на ложность:
1
$this->shouldBeFalse();


  1. Проверка на пустоту:
1
$this->shouldBeEmpty();


  1. Проверка на наличие элементов:
1
$this->shouldHaveCount($expectedCount);


  1. Проверка на наличие элемента в массиве или объекте:
1
$this->shouldContain($expectedElement);


  1. Проверка, что объект является экземпляром определенного класса:
1
$this->shouldBeAnInstanceOf($expectedClass);


Это только небольшой набор возможных утверждений в PHPSpec. В документации и примерах можно найти дополнительные синтаксические конструкции для создания утверждений.

Пользователь

от camren , 10 месяцев назад

@aaron_armstrong 

Для создания утверждений (assertions) в PHPSpec используется специальный синтаксис с помощью методов. Вот несколько примеров:

  1. Утверждение равенства:
1
$this->assertEquals($expectedValue, $actualValue);


  1. Утверждение истины или ложности:
1
2
$this->assertTrue($value); // Проверяет, что значение $value истинно
$this->assertFalse($value); // Проверяет, что значение $value ложно


  1. Утверждение наличия элемента в массиве:
1
$this->assertArrayHasKey($key, $array); // Проверяет, что $array содержит элемент с ключом $key


  1. Утверждение исключения:
1
$this->expectException($exception); // Проверяет, что код вызовет исключение определенного типа $exception


  1. Утверждение экземпляра класса:
1
$this->assertInstanceOf($expectedClass, $object); // Проверяет, что $object является экземпляром класса $expectedClass


Здесь $this - это текущий объект спецификации или теста, наследуемый от основного класса PHPSpec. Утверждения могут быть различными в зависимости от тестового фреймворка или библиотеки, но вышеуказанные примеры представляют базовый синтаксис PHPSpec.