The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Test::BDD::Cucumber::Definitions::Struct::Ru - Шаги на русском языке для работы с perl-структурами данных

SYNOPSIS

В файле features/step_definitions/struct_steps.pl:

    #!/usr/bin/perl

    use strict;
    use warnings;
    use utf8;
    use open qw(:std :utf8);

    use Test::BDD::Cucumber::Definitions::HTTP::Ru;
    use Test::BDD::Cucumber::Definitions::Struct::Ru;

В файле features/struct.feature:

    Feature: Struct (Ru)
        Работа с perl-структурами данных

    Scenario: HTTP->JSON->Struct
        When HTTP-запрос "GET" отправлен на "https://fastapi.metacpan.org/v1/distribution/Test-BDD-Cucumber-Definitions"
        When содержимое HTTP-ответа прочитано как JSON
        Then элемент структуры данных "$.name" совпадает с "Test-BDD-Cucumber-Definitions"

ИСТОЧНИКИ ДАННЫХ

Данные могут быть загружены в структуру из различных источников данных.

Для работы с источниками требуется использование модуля Struct совместно с другими модулями, например HTTP.

ШАГИ

Чтение данных

Прочитать JSON из HTTP-ответа в perl-структуру:

    When содержимое HTTP-ответа прочитано как JSON

Прочитать список файлов Zip-архива в perl-структуру

    When перечень файлов Zip-архива прочитан как список

Проверка данных

Для обращения к произвольным элементам структуры данных используется JSON::Path.

Проверить элемент на точное соответствие значению:

    Then элемент структуры данных "$.status" равен "success"

Проверить массив структур на наличие элемента, точно соответствующего значению:

    Then массив структур данных "$[*]" содержит элемент, равный "user_42"

Проверить элемент на совпадение с регулярным выражением:

    Then элемент структуры данных "$.name" совпадает с "Test-*"

Проверить массив структур на наличие элемента, совпадающего с регулярным выражением:

    Then массив структур данных  "$[*]" содержит элемент, совпадающий с ".+42"

Проверить количество элементов в массиве структур данных:

    Then массив структур данных "$[*]" содержит "1" элемент
    Then массив структур данных "$[*]" содержит "4" элемента
    Then массив структур данных "$[*]" содержит "6" элементов

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.