Это командная пряжа, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
yarn - сценарное тестирование инструментов командной строки Unix
СИНТАКСИС
пряжа [--allow-пропущенные-шаги] [--no-разрешить пропущенные шаги] [--cd-каталог данных] [--no-cd-каталог данных]
[--config=ФАЙЛОВ] [--dump-config] [- имена-настроек-дампа] [--генерировать справочную страницу=ШАБЛОН] [-h]
[--Помогите] [--help-all] [--list-config-файлы] [--версия] [--no-default-configs]
[--dump-memory-профиль=МЕТОД] [--env=ИМЯ = ЗНАЧЕНИЕ] [--бревно=ФАЙЛОВ] [--log-держать=N]
[--лог-уровень=УРОВЕНЬ] [--лог-макс=РАЗМЕР] [--log-режим=РЕЖИМ] [- интервал дампа памяти=СЕКУНД]
[--выход=ФАЙЛОВ] [-q] [--тихий] [- тихо] [--требовать-допущения]
[- не требовать допущений] [-rСЦЕНАРИЙ] [--запустить=СЦЕНАРИЙ] [--оболочка=SHELL] [--shell-аргумент=ARG]
[-sОБОЛОЧКА-БИБЛИОТЕКА] [- оболочка-библиотека=ОБОЛОЧКА-БИБЛИОТЕКА] [- снимок] [--no-снимок]
[--tempdir=DIR] [--сроки] [- без расписания] [-v] [--подробный] [- без подробностей] [-n] [- не действовать]
[--прогон, репетиция] [--притворяться] [- нет-нет-действовать] [- без пробега] [- не притворяться] [ФАЙЛОВ] ...
ОПИСАНИЕ
пряжа инструмент тестирования сценария: вы пишете сценарий, описывающий, как пользователь использует ваш
программного обеспечения и того, что должно произойти, и выразить, используя очень легкий синтаксис, сценарий
таким образом, чтобы его можно было протестировать автоматически. Сценарий имеет простой, но строгий
состав:
ДАЛИ некоторую настройку для теста
КОГДА происходит то, что нужно проверить
ТОГДА постусловия должны выполняться
В качестве примера рассмотрим очень короткий тестовый сценарий для проверки того, что программа резервного копирования
работает, по крайней мере, для одного простого случая.
Резервные копии SCENARIO можно восстановить
ПРЕДОСТАВЛЯЕМ некоторые живые данные в каталоге
И пустой репозиторий резервных копий
КОГДА делается резервная копия
ТОГДА регистр данных будет восстановлен
НАКОНЕЦ очистка
Обратите внимание на добавление AND: у вас может быть несколько операторов GIVEN, WHEN и THEN. И
ключевое слово делает текст более читабельным. СЦЕНАРИЙ тоже нужен, да и название дает.
НАКОНЕЦ для очистки. Шаги НАКОНЕЦ будут выполняться независимо от того,
получится или нет.
Сценарии должны быть написаны на понятном человеку языке. Однако они
не произвольный текст. Помимо структуры GIVEN / WHEN / THEN, текст для каждого из
шаги нуждаются в исполняемой на компьютере реализации. Это делается с помощью IMPLEMENTS.
Сценарий резервного копирования, описанный выше, может быть реализован следующим образом:
РЕАЛИЗАЦИИ ПРЕДОСТАВЛЯЮТ некоторые живые данные в каталоге
rm -rf "$ TESTDIR / данные"
mkdir "$ TESTDIR / data"
echo foo> "$ TESTDIR / data / foo"
РЕАЛИЗАЦИИ, ПРЕДОСТАВЛЯЕМЫЕ пустым хранилищем резервных копий
rm -rf "$ TESTDIR / репо"
mkdir "$ TESTDIR / репо"
РЕАЛИЗАЦИЯ, КОГДА создается резервная копия
резервная программа -r "$ TESTDIR / репо" "$ TESTDIR / данные"
РЕАЛИЗАЦИЯ ТОГДА данные могут быть восстановлены
mkdir "$ TESTDIR / восстановлено"
restore-program -r "$ TESTDIR / repo" "$ TESTDIR / восстановлено"
diff -rq "$ TESTDIR / data" "$ TESTDIR / восстановлено"
ВЫПОЛНЯЕТ НАКОНЕЦ очистку
эхо нечего делать, на самом деле
За каждым «ДАННЫЕ РЕАЛИЗАЦИИ» (или КОГДА, ТО, НАКОНЕЦ) следует регулярное выражение на
ту же строку, а затем сценарий оболочки, который запускается для реализации любого шага,
соответствует регулярному выражению. Реализация может извлекать данные из совпадения как
хорошо: например, регулярное выражение может позволить указать размер файла.
Приведенный выше пример, конечно, немного глуп: зачем тратить силы на то, чтобы запутать различные
шаги? Ответ заключается в том, что различные шаги, реализованные с использованием РЕАЛИЗАЦИИ, могут быть
объединены разными способами, чтобы протестировать различные аспекты тестируемой программы.
Более того, сделав описание шагов текстом на человеческом языке, сопоставленным с обычными
выражений, можно надеяться, что большая часть теста может быть написана и понятна не-
программисты. Тот, кто понимает, что должна делать программа, может написать тесты на
проверить его поведение. Реализации различных шагов должны быть реализованы
программист, но с хорошо продуманным набором шагов, с достаточной гибкостью в их
реализация, можно написать неплохой набор тестов.
Команды оболочки в разделе IMPLEMENTS выполняются в каталоге, в котором запускался пользователь.
пряжа. Переменная окружения СРЦДИР установлен на полный путь к этому
каталог.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
--allow-пропущенные-шаги
разрешить сценариям ссылаться на несуществующие шаги, предупреждая о них, но
в противном случае игнорируя сценарии
--no-разрешить пропущенные шаги
противоположно --allow-missing-steps
--cd-каталог данных
изменить на DATADIR при запуске команд
--no-cd-каталог данных
противоположность --cd-datadir
--env=ИМЯ = ЗНАЧЕНИЕ
добавить NAME = VALUE в среду при запуске тестов
--генерировать справочную страницу=ШАБЛОН
ПОДДЕРЖКА
-h, --Помогите
показать это справочное сообщение и выйти
--выход=ФАЙЛОВ
записывать вывод в ФАЙЛ вместо стандартного вывода
-q, --тихий
молчать, избегать отчетов о прогрессе, показывать только ошибки
- тихо
противоположность --quiet
--требовать-допущения
требовать, чтобы ПРИНЯТИЕ всегда проходило
- не требовать допущений
противоположно --require-предположения
-r, --запустить=СЦЕНАРИЙ
запускать только СЦЕНАРИЙ (этот вариант можно повторить)
--оболочка=SHELL
запустить IMPLEMENTS с помощью SHELL
--shell-аргумент=ARG
использовать ARG при запуске оболочки
-s, - оболочка-библиотека=ОБОЛОЧКА-БИБЛИОТЕКА
включить библиотеку оболочки для использования разделов IMPLEMENTS
- снимок
делать снимки тестовой рабочей директории после каждого шага сценария; ты вероятно
хотите использовать это с --tempdir
--no-снимок
противоположность --snapshot
--tempdir=DIR
использовать DIR как временный каталог для тестов; он должен быть пустым или не существовать
--сроки
сообщать время настенных часов для каждого сценария и шага
- без расписания
противоположно --timings
-v, --подробный
сделать отчеты о ходе выполнения более подробными ("стена текста"), а не однострочными
информация о статусе; это включается автоматически, если нет терминала
- без подробностей
противоположно --verbose
--версия
показать номер версии программы и выйти
-n, - не действовать, --прогон, репетиция, --притворяться
на самом деле не запускайте никаких тестов, просто распечатайте то, что будет запущено
- нет-нет-действовать, - без пробега, - не притворяться
противоположно --no-act
Конфигурация файлов и настройки
--config=ФАЙЛОВ
добавить ФАЙЛ в файлы конфигурации
--dump-config
выпишите всю текущую конфигурацию
- имена-настроек-дампа
ПОДДЕРЖКА
--help-all
показать все варианты
--list-config-файлы
ПОДДЕРЖКА
--no-default-configs
очистить список файлов конфигурации для чтения
Запись
--бревно=ФАЙЛОВ
записывать записи журнала в ФАЙЛ (по умолчанию файлы журнала не записываются вообще); используйте "системный журнал"
для входа в системный журнал, «stderr» для входа в стандартный вывод ошибок или «none» для
отключить ведение журнала
--log-держать=N
сохранить последние N журналов (10)
--лог-уровень=УРОВЕНЬ
журнал на УРОВНЕ, одно из отладки, информации, предупреждения, ошибки, критического, фатального (по умолчанию: отладка)
--лог-макс=РАЗМЕР
вращать журналы больше, чем SIZE, ноль - никогда (по умолчанию: 0)
--log-режим=РЕЖИМ
установить права доступа для новых файлов журнала в РЕЖИМ (восьмеричный; по умолчанию 0600)
Peformance
--dump-memory-профиль=МЕТОД
создавать дампы профилей памяти с помощью МЕТОДА, который может быть одним из: none, simple или meliae
(по умолчанию: простой)
- интервал дампа памяти=СЕКУНД
делать дампы профилирования памяти на расстоянии не менее СЕКУНД
ОКРУЖАЮЩАЯ СРЕДА
ДАТАДИР
Полный путь к временному каталогу, в котором тесты могут использовать
файлы. Временный каталог удаляется в конце выполнения теста, если только
пользователь указывает иное с помощью --snapshot.
СРЦДИР Полный путь к каталогу, в котором запускался пользователь. пряжа. Это
полезно, когда тесты хотят изменить каталог.
ПРИМЕР
Бежать пряжа во всех сценариях в вашем текущем каталоге:
пряжа *. сценарий
Все файлы будут обрабатываться вместе, как если бы они были одним файлом.
Чтобы добавить библиотеку оболочки, которая будет включена при запуске любого раздела IMPLEMENTS:
пряжа --shell-library mylib.sh * .scenario
Вы можете повторить - оболочка-библиотека столько раз, сколько необходимо.
Используйте пряжу онлайн с помощью сервисов onworks.net