NAME
Test::BDD::Cucumber::Definitions::Struct::Ru - Шаги на русском языке для работы с perl-структурами данных
SYNOPSIS
В файле features/step_definitions/struct_steps.pl:
В файле features/struct.feature:
Feature: Struct (Ru)
Работа с perl-структурами данных
Scenario: HTTP->JSON->Struct
When HTTP-запрос
"GET"
отправлен на
"https://fastapi.metacpan.org/v1/distribution/Test-BDD-Cucumber-Definitions"
Given содержимое HTTP-ответа прочитано как JSON
Then элемент структуры данных
"$.name"
совпадает с
"Test-BDD-Cucumber-Definitions"
ИСТОЧНИКИ ДАННЫХ
Данные могут быть загружены в структуру из различных источников данных.
Для работы с источниками требуется использование модуля Struct совместно с другими модулями, например HTTP.
ШАГИ
Чтение данных
Прочитать JSON из HTTP-ответа в perl-структуру:
Given содержимое HTTP-ответа прочитано как JSON
Прочитать JSON из Файла в perl-структуру:
Given содержимое файла прочитано как JSON
Прочитать список файлов Zip-архива в perl-структуру
Given перечень файлов Zip-архива прочитан как список
Прочитать результат запроса к Базе в perl-структуру
Given результат запроса к базе прочитан как структура
Проверка данных
Для обращения к произвольным элементам структуры данных используется JSON::Path.
Проверить элемент на точное соответствие значению:
Then элемент структуры данных
"$.status"
равен
"success"
Проверить массив структур на наличие элемента, точно соответствующего значению:
Then массив структур данных
"$[*]"
содержит элемент, равный
"user_42"
Проверить элемент на совпадение с регулярным выражением:
Then элемент структуры данных
"$.name"
совпадает с
"Test-*"
Проверить массив структур на наличие элемента, совпадающего с регулярным выражением:
Then массив структур данных
"$[*]"
содержит элемент, совпадающий с
".+42"
Проверить количество элементов в массиве структур данных:
Then массив структур данных
"$[*]"
содержит
"1"
элемент
Then массив структур данных
"$[*]"
содержит
"4"
элемента
Then массив структур данных
"$[*]"
содержит
"6"
элементов
Проверить элемент на наличие ключа:
Then элемент структуры данных
"$.user"
содержит ключ
"login"
Проверить элементы в списке на наличие ключа:
Then все элементы в списке структур данных
"$.users"
содержат ключ
"login"
AUTHOR
Mikhail Ivanov <m.ivanych@gmail.com>
LICENSE AND COPYRIGHT
Copyright 2018 Mikhail Ivanov.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.