Spec-Zone.ru › Codeception

Codeception\Util\JsonType

JsonType сопоставляет структуры JSON с шаблонами. Вы можете указать тип полей в JSON или добавить дополнительные правила проверки.

JsonType используется модулем REST в методах seeResponseMatchesJsonType и dontSeeResponseMatchesJsonType.

Пример использования:

<?php
$jsonType = new JsonType(['name' => 'davert', 'id' => 1]);
$jsonType->matches([
  'name' => 'string:!empty',
  'id' => 'integer:>0|string:>0',
]); // => true

$jsonType->matches([
  'id' => 'string',
]); // => `id: 1` is not of type string
?>

Класс JsonType @package Codeception\Util

__construct()

public __construct($jsonArray)

Создаёт экземпляр JsonType. Передайте массив или \Codeception\Util\JsonArray с данными. Если передан не ассоциативный массив, то первый элемент будет использован для сопоставления.

  • param $jsonArray array \Codeception\Util\JsonArray

См. исходный код

addCustomFilter()

public static addCustomFilter($name, callable $callable)

Добавляет пользовательский фильтр в список JsonType. Вы должны указать имя и параметры фильтра.

Пример:

<?php
JsonType::addCustomFilter('slug', function($value) {
    return strpos(' ', $value) !== false;
});
// => use it as 'string:slug'

// add custom function to matcher with `len($val)` syntax
// parameter matching patterns should be valid regex and start with `/` char
JsonType::addCustomFilter('/len\((.*?)\)/', function($value, $len) {
  return strlen($value) == $len;
});
// use it as 'string:len(5)'
?>
  • param $name
  • param callable $callable

См. исходный код

cleanCustomFilters()

public static cleanCustomFilters()

Удаляет все пользовательские фильтры

См. исходный код

matches()

public matches(array $jsonType)

Проверяет данные на соответствие переданному JsonType. Если сопоставление не удается, функция возвращает строку с сообщением об ошибке. При успешном сопоставлении возвращает true.

  • param array $jsonType
  • return bool string

См. исходный код

© 2011 Michael Bodnarchuk and contributors
Licensed under the MIT License.
https://codeception.com/docs/reference/JsonType

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API