From 3c11d1d1d1995216585f38975848bd7b3067a657 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 23 Jul 2023 11:06:36 +0000 Subject: [PATCH] deploy: 1b4841a6c535ca63b3602230fda4509d6022bace --- 404.html | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- "api/\320\256\320\242\320\265\321\201\321\202/index.html" | 4 ++-- assets/js/8a441de7.01dea70b.js | 1 - assets/js/8a441de7.9ec935a2.js | 1 + .../{runtime~main.d2faa19e.js => runtime~main.73e99d31.js} | 2 +- blog/2023/04/29/01-first/index.html | 4 ++-- blog/2023/04/29/02-engine-release/index.html | 4 ++-- blog/2023/04/29/03-plugin-release/index.html | 4 ++-- blog/2023/05/25/engine-release/index.html | 4 ++-- blog/archive/index.html | 4 ++-- blog/index.html | 4 ++-- blog/tags/index.html | 4 ++-- blog/tags/plugin/index.html | 4 ++-- blog/tags/releases/index.html | 4 ++-- blog/tags/yaxunit/index.html | 4 ++-- contributing/index.html | 6 +++--- docs/first-test/index.html | 4 ++-- docs/install/index.html | 4 ++-- docs/install/install-plugin/index.html | 4 ++-- docs/run/configuration/index.html | 4 ++-- docs/run/index.html | 4 ++-- docs/tags/index.html | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- docs/user-api/assertions/assertions-base/index.html | 4 ++-- docs/user-api/assertions/assertions-db/index.html | 4 ++-- docs/user-api/assertions/index.html | 4 ++-- docs/user-api/context/index.html | 4 ++-- docs/user-api/index.html | 4 ++-- docs/user-api/mockito/index.html | 4 ++-- docs/user-api/predicates/index.html | 4 ++-- docs/user-api/queries/index.html | 4 ++-- docs/user-api/test-data/index.html | 4 ++-- docs/user-api/test-data/test-data-deletion/index.html | 4 ++-- docs/user-api/test-registration/index.html | 4 ++-- docs/yaxunit-ui/index.html | 4 ++-- index.html | 4 ++-- lessons/index.html | 4 ++-- 56 files changed, 109 insertions(+), 109 deletions(-) delete mode 100644 assets/js/8a441de7.01dea70b.js create mode 100644 assets/js/8a441de7.9ec935a2.js rename assets/js/{runtime~main.d2faa19e.js => runtime~main.73e99d31.js} (99%) diff --git a/404.html b/404.html index 63b47c596..6606a037c 100644 --- a/404.html +++ b/404.html @@ -5,13 +5,13 @@ Page Not Found | YAx Unit - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git "a/api/\320\234\320\276\320\272\320\270\321\202\320\276/index.html" "b/api/\320\234\320\276\320\272\320\270\321\202\320\276/index.html" index 3ca10c86e..b342ced67 100644 --- "a/api/\320\234\320\276\320\272\320\270\321\202\320\276/index.html" +++ "b/api/\320\234\320\276\320\272\320\270\321\202\320\276/index.html" @@ -5,14 +5,14 @@ Мокито | YAx Unit - +
Skip to main content

Мокито (Мокито)

Расширяет возможности тестирования, позволяет легко менять логику работы системы:

  • подменять результаты работы функций;
  • отключать алгоритмы и проверки;
  • выбрасывать исключения при необходимости;
  • собирать статистику по вызовам методов.

Для работы Мокито необходимо добавить обрабатываемые методы в расширение по следующей схеме:

&Вместо("ВыполнитьЗапрос")
Функция ЮТВыполнитьЗапрос(ПараметрыПодключения, Ресурс, HTTPМетод, Параметры, ОписаниеТела, Заголовки) Экспорт

ПараметрыМетода = Мокито.МассивПараметров(ПараметрыПодключения, Ресурс, HTTPМетод, Параметры, ОписаниеТела, Заголовки);

ПрерватьВыполнение = Ложь;
Результат = Мокито.АнализВызова(РаботаСHTTP, "ВыполнитьЗапрос", ПараметрыМетода, ПрерватьВыполнение);

Если НЕ ПрерватьВыполнение Тогда
Возврат ПродолжитьВызов(ПараметрыПодключения, Ресурс, HTTPМетод, Параметры, ОписаниеТела, Заголовки);
Иначе
Возврат Результат;
КонецЕсли;

КонецФункции

Методы модуля


Обучение

Начинает обучение (настройку) Мокито. После вызова этого метода следует набор правил для подмены логики работы системы.

Параметры метода

  • Объект
    • Произвольный - Объект, методы которого хотим подменить.
  • СброситьСтарыеНастройки
    • Булево - Необходимо удалить старые настройки по объекту.
      • Истина - все предыдущие настройки мокирования объекта будут забыты.
      • Ложь - будет выполнено дообучение объекта.

Возвращает

ОбщийМодуль - см. МокитоОбучение


Прогон

Переводит мокито в режим прогона тестов.

важно

Важно! Вызов этого метода обязателен перед выполнением тестового прогона метода.

Параметры метода

  • СброситьСтатистику
    • Булево - Сбросить статистику прошлых прогонов

Проверить

Переводит мокито в режим проверки собранной за прогон статистики вызовов.

Параметры метода

  • Объект
    • Произвольный - Устанавливает проверяемый объект, вызовы методов которого будем проверять.

Возвращает

ОбщийМодуль - см. МокитоПроверки


Сбросить

Сбрасывает настройки и повторно инициализирует мокито.


ЛюбойПараметр

Возвращает маску параметра. Используется при обучении и проверках для фильтрации входных параметров метода.

Указывает, что в метод может передаваться любой параметр.

Возвращает

Описание маски параметра: (Структура)
  • Режим - Строка - см. ТипыУсловийПараметров
  • Приоритет - Число - Приоритет маски, используется если значение подпадает под несколько масок, чем выше приоритет, тем лучше

ЧисловойПараметр

Возвращает маску параметра. Используется при обучении и проверках для фильтрации входных параметров метода.

Указывает, что в метод может передаваться числовой параметр.

Возвращает

Описание маски параметра: (Структура)
  • Режим - Строка - Тип маски (значение: Тип)
  • Приоритет - Число - Приоритет маски, используется если значение подпадает под несколько масок (значение: 10)
  • Тип - Тип - Тип, которому должен соответствовать параметр

СтроковыйПараметр

Возвращает маску параметра. Используется при обучении и проверках для фильтрации входных параметров метода.

Указывает, что в метод может передаваться строковый параметр

Возвращает

Описание маски параметра: (Структура)
  • Режим - Строка - Тип маски (значение: Тип)
  • Приоритет - Число - Приоритет маски, используется если значение подпадает под несколько масок (значение: 10)
  • Тип - Тип - Тип, которому должен соответствовать параметр

ТипизированныйПараметр

Возвращает маску параметра. Используется при обучении и проверках для фильтрации входных параметров метода.

Указывает, что в метод может передаваться параметр указанного типа.

Параметры метода

  • Тип
    • Тип - Ограничение типа параметра.

Возвращает

Описание маски параметра: (Структура)
  • Режим - Строка - Тип маски (значение: Тип)
  • Приоритет - Число - Приоритет маски, используется если значение подпадает под несколько масок (значение: 10)
  • Тип - Тип - Тип, которому должен соответствовать параметр

МассивПараметров

Формирует массив параметров. Применяется при обучении (настройке) мокито.

Параметры метода

  • Параметр1
    • Произвольный -
  • Параметр2
    • Произвольный -
  • Параметр3
    • Произвольный -
  • Параметр4
    • Произвольный -
  • Параметр5
    • Произвольный -
  • Параметр6
    • Произвольный -
  • Параметр7
    • Произвольный -
  • Параметр8
    • Произвольный -
  • Параметр9
    • Произвольный -
  • Параметр10
    • Произвольный -

Возвращает

Массив из Произвольный - Массив параметров

- + \ No newline at end of file diff --git "a/api/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/index.html" "b/api/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/index.html" index fbd5833cc..c37fdb8cb 100644 --- "a/api/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/index.html" +++ "b/api/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/index.html" @@ -5,14 +5,14 @@ МокитоОбучение | YAx Unit - +
Skip to main content

Мокито обучение (МокитоОбучение)

Методы модуля


Обучение

Начинает обучение мокито для регистрации правил подмены вызовов методов.

Параметры метода

  • Объект
    • Произвольный - Обучаемый объект, с методами которого хотим работать.
  • СброситьСтарыеНастройки
    • Булево - Необходимо удалить старые настройки по объекту.
      • Истина - все предыдущие настройки мокирования объекта будут забыты.
      • Ложь - будет выполнено дообучение объекта.

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


Наблюдать

Включает наблюдение за вызовами метода, при необходимости можно настроить фильтр по параметрам вызова.

Параметры метода

  • ИмяМетода
    • Строка - Имя метода обучаемого объекта, см. Обучение.
    • Произвольный - Вызов метода обучаемого объекта.
  • ПараметрыВызова
    • Массив из Произвольный - Параметры вызова метода обучаемого объекта.

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания

Примеры:

Мокито.Обучение(ОбщегоНазначения).Наблюдать("ЭтоДопустимоеИмяПеременной", Мокито.МассивПараметров(""));
Мокито.Обучение(ОбщегоНазначения).Наблюдать(ОбщегоНазначения.ЭтоДопустимоеИмяПеременной(""));

Когда

Задает условие "подмены" поведения метода.

Параметры метода

  • ИмяМетода
    • Строка - Имя метода обучаемого объекта.
    • Произвольный - Вызов метода обучаемого объекта.
  • ПараметрыВызова
    • Массив из Произвольный - Параметры вызова метода обучаемого объекта.

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания.

Примеры:

Мокито.Обучение(ОбщегоНазначения).Когда("ЭтоДопустимоеИмяПеременной", Мокито.МассивПараметров(""));
Мокито.Обучение(ОбщегоНазначения).Когда(ОбщегоНазначения.ЭтоДопустимоеИмяПеременной(""));

Вернуть

Указывает, что при соблюдении условий (см. Когда) метод должен вернуть указанный результат.

При этом сам метод не исполняется.

Параметры метода

  • Результат
    • Произвольный - Результат, который должен вернуть метод.

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


ВыброситьИсключение

Указывает, что при соблюдении условий (см. Когда) метод должен выбросить исключение.

При этом сам метод не исполняется.

Параметры метода

  • ТекстИсключения
    • Строка -

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


Пропустить

Указывает, что при соблюдении условий (см. Когда) метод не должен выполняться, его вызов пропускается.

Если это функция, то будет возвращено Неопределено.

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


ВыполнитьМетод

Указывает, что при соблюдении условий (см. Когда) метод должен выполняться. Используется для случаев, когда необходимо задать исключения для другого правила на этом методе.

TODO: Нужны примеры

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


Прогон

Переводит мокито в режим прогона тестов.

Вызов этого метода обязателен перед выполнением тестового прогона метода.

- + \ No newline at end of file diff --git "a/api/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/index.html" "b/api/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/index.html" index 70c95ec67..6a127318e 100644 --- "a/api/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/index.html" +++ "b/api/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/index.html" @@ -5,7 +5,7 @@ МокитоПроверки | YAx Unit - + @@ -14,7 +14,7 @@ Их количество должно быть равно переданному значение, иначе будет выброшено исключение.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


Больше

Проверяет вызовы метода (см. КоличествоВызовов). Их количество должно быть больше переданного значения,, иначе будет выброшено исключение.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


Меньше

Проверяет вызовы метода (см. КоличествоВызовов). Их количество должно быть меньше переданного значения, иначе будет выброшено исключение.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


Заполнено

Проверяет, что есть вызовы метода (см. КоличествоВызовов), соответствующие условию.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


Пусто

Проверяет, что нет вызовов метода (см. КоличествоВызовов), соответствующих условию.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания

- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/index.html" "b/api/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/index.html" index c06e20975..4abee7b93 100644 --- "a/api/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/index.html" +++ "b/api/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/index.html" @@ -5,7 +5,7 @@ ЮТЗапросы | YAx Unit - + @@ -14,7 +14,7 @@ позволяет в упрощенной форме получать данны из информационной базы как с сервера так и с клиента.

Методы модуля


ЗначенияРеквизитов

Возвращает значения реквизитов ссылки

Параметры метода

Возвращает

Структура Из Произвольный - Значения реквизитов ссылки


ЗначениеРеквизита

Возвращает значение реквизита ссылки

Параметры метода

Возвращает

Структура Из Произвольный - Значения реквизитов ссылки


Запись

Возвращает первую запись таблицы соответствующую условиям

Параметры метода

Возвращает

Структура - Содержит все данные записи, включая табличный части


Записи

Возвращает записи таблицы соответствующую условиям

Параметры метода

Возвращает

Массив из Структура - Найденные записи, включая табличный части


ТаблицаСодержитЗаписи

Вернет признак содержит ли таблица записи удовлетворяющие переданным условиям

Параметры метода

Возвращает

Булево - Таблица содержит записи


РезультатЗапроса

Возвращает результат выполнения простого запроса.

Параметры метода

Возвращает

ТаблицаЗначений - Результат запроса для сервера


РезультатПустой

Определяет, есть ли в результате записи

Параметры метода

Возвращает

Булево - Результат пустой


ОписаниеЗапроса

- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/index.html" "b/api/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/index.html" index aa0d5b5e9..ae77e30ce 100644 --- "a/api/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/index.html" +++ "b/api/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/index.html" @@ -5,13 +5,13 @@ ЮТКонструкторВариантов | YAx Unit - +
Skip to main content

Конструктор вариантов (ЮТКонструкторВариантов)

Методы модуля


Варианты

Инициализирует новый конструктор вариантов

Параметры метода

  • Реквизиты
    • Строка - Имена реквизитов варианта разделенные запятыми.

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


Добавить

Добавляет новый вариант

Параметры метода

  • Параметр1
    • Произвольный -
  • Параметр2
    • Произвольный -
  • Параметр3
    • Произвольный -
  • Параметр4
    • Произвольный -
  • Параметр5
    • Произвольный -
  • Параметр6
    • Произвольный -
  • Параметр7
    • Произвольный -

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


СписокВариантов

Список вариантов.

Возвращает

Массив из Структура -

- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\233\320\276\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/index.html" "b/api/\320\256\320\242\320\233\320\276\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/index.html" index 9984ed017..754ff42ec 100644 --- "a/api/\320\256\320\242\320\233\320\276\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/index.html" +++ "b/api/\320\256\320\242\320\233\320\276\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/index.html" @@ -5,13 +5,13 @@ ЮТЛогирование | YAx Unit - +
Skip to main content

Логирование (ЮТЛогирование)

Методы модуля


Отладка

Выводит отладочное сообщение

Параметры метода

  • Сообщение
    • Строка - Сообщение

Информация

Выводит информационное сообщение

Параметры метода

  • Сообщение
    • Строка - Сообщение

Ошибка

Выводит сообщение об ошибке

Параметры метода

  • Сообщение
    • Строка - Сообщение
- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213/index.html" "b/api/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213/index.html" index e856487a0..78ae8c67e 100644 --- "a/api/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213/index.html" +++ "b/api/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213/index.html" @@ -5,14 +5,14 @@ ЮТПредикаты | YAx Unit - +
Skip to main content

Предикаты (ЮТПредикаты)

Механизм предикатов позволяет:

  • Формировать наборы утверждений и передавать в методы проверки
  • Методы для формирования предикатов имеют такой же синтаксис как и утверждения для тестов см. ЮТест.ОжидаетЧто
  • Проверять элементы коллекций на соответствие утверждениям

Методы модуля


Реквизит

Устанавливает имя реквизита, все последующие проверки будут относится к нему.

Параметры метода

  • ИмяРеквизита
    • Строка - Имя реквизита
    • Число - Индекс коллекции
    • Произвольный - Ключ соответствия

Возвращает

ОбщийМодуль - Этот модуль для замыкания


Равно

Добавляет предикат, проверяющий равенство объекта (свойства) указанному значению

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


НеРавно

Добавляет предикат, проверяющий не равенство объекта (свойства) указанному значению

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


Заполнено

Добавляет предикат, проверяющий заполненность объекта (свойства)

Возвращает

ОбщийМодуль - Этот модуль для замыкания


Пусто

Добавляет предикат, проверяющий, что объект (свойств) не заполнено

Возвращает

ОбщийМодуль - Этот модуль для замыкания


Больше

Добавляет предикат, проверяющий, что значение объекта (свойства) больше указанного

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


БольшеИлиРавно

Добавляет предикат, проверяющий, что значение объекта (свойства) больше или равно указанному

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


Меньше

Добавляет предикат, проверяющий, что значение объекта (свойства) меньше указанного

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


МеньшеИлиРавно

Добавляет предикат, проверяющий, что значение объекта (свойства) меньше или равно указанному

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


ИмеетТип

Добавляет предикат, проверяющий, что значение объекта (свойства) имеет указанный тип

Параметры метода

  • Тип
    • Тип -
    • ОписаниеТипов -
    • Строка - Имя типа

Возвращает

ОбщийМодуль - Этот модуль для замыкания


ИмеетТипОтличныйОт

Добавляет предикат, проверяющий, что значение объекта (свойства) имеет тип отличный от указанного

Параметры метода

  • Тип
    • Тип -
    • ОписаниеТипов -
    • Строка - Имя типа

Возвращает

ОбщийМодуль - Этот модуль для замыкания


ИмеетДлину

Добавляет предикат, проверяющий, длину/размер значение объекта (свойства) на равенство указанному значению

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


ИмеетДлинуОтличнуюОт

Добавляет предикат, проверяющий, длину/размер значение объекта (свойства) на не равенство указанному значению

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


ИмеетСвойство

Добавляет предикат, проверяющий, что значение объекта (реквизита) содержит вложенное свойство

Параметры метода

  • ИмяСвойства
    • Строка - Имя свойства
    • Число - Индекс коллекции
    • Произвольный - Ключ соответствия

Возвращает

ОбщийМодуль - Этот модуль для замыкания


НеИмеетСвойства

Добавляет предикат, проверяющий, что значение объекта (реквизита) не содержит вложенное свойство

Параметры метода

  • ИмяСвойства
    • Строка - Имя свойства
    • Число - Индекс коллекции
    • Произвольный - Ключ соответствия

Возвращает

ОбщийМодуль - Этот модуль для замыкания


Содержит

Добавляет предикат, проверяющий, что значение объекта (реквизита) содержит указанное значение

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


НеСодержит

Добавляет предикат, проверяющий, что значение объекта (реквизита) не содержит указанное значение

Параметры метода

  • Значение
    • Произвольный -

Возвращает

ОбщийМодуль - Этот модуль для замыкания


Получить

Возвращает набор сформированных утверждений.

Рекомендуется использовать этот метод, если планируется отложенная проверка предикатов. Например, вы хотите сформировать два набору предикатов и проверять их в зависимости от условия.

Метод копирует настроенный набор утверждений в массив и возвращает его, таким образом сохраняется состояние, которое можно передавать дальше.

Возвращает

Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов

- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/index.html" "b/api/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/index.html" index 4d4d7891d..c65be40c1 100644 --- "a/api/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/index.html" +++ "b/api/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/index.html" @@ -5,7 +5,7 @@ ЮТТестовыеДанные | YAx Unit - + @@ -13,7 +13,7 @@
Skip to main content

Тестовые данные (ЮТТестовыеДанные)

Методы модуля


СоздатьЭлемент

Создает новый элемент и возвращает его ссылку.

Параметры метода

  • Менеджер
    • Произвольный - Менеджер справочника/ПВХ и тд.
  • Наименование
    • Строка - Наименование элемента
    • Неопределено - Наименование элемента
  • Реквизиты
    • Структура - Значения реквизитов элемента
    • Неопределено - Значения реквизитов элемента

Возвращает

ЛюбаяСсылка - Ссылка на созданный объект


СоздатьДокумент

Создает новый документ и возвращает его ссылку.

Параметры метода

  • Менеджер
    • Произвольный - Менеджер справочника/ПВХ и тд.
  • Реквизиты
    • Структура - Значения реквизитов элемента
    • Неопределено - Значения реквизитов элемента

Возвращает

ДокументСсылка - Ссылка на созданный объект


СоздатьГруппу

Создает новую группу

Параметры метода

  • Менеджер
    • Произвольный - Менеджер справочника/ПВХ и тд.
  • Наименование
    • Строка - Наименование элемента
    • Неопределено - Наименование элемента
  • Реквизиты
    • Структура - Значения реквизитов элемента
    • Неопределено - Значения реквизитов элемента

Возвращает

ЛюбаяСсылка - Ссылка на созданную группу


СлучайноеЧисло

Генерирует и возвращает случайное число.

Параметры метода

  • Минимум
    • Неопределено - Минимальное значение
    • Число - Минимальное значение
  • Максимум
    • Неопределено - Максимальное значение
    • Число - Максимальное значение
  • ЗнаковПослеЗапятой
    • Число - Количество знаков после запятой

Возвращает

Число - Случайное число


СлучайноеПоложительноеЧисло

Генерирует и возвращает случайное положительное число.

Параметры метода

  • Максимум
    • Неопределено - Максимальное значение
    • Число - Максимальное значение
  • ЗнаковПослеЗапятой
    • Число - Знаков после запятой

Возвращает

Число - Случайное положительное число


СлучайноеОтрицательноеЧисло

Генерирует и возвращает случайное отрицательное число.

Параметры метода

  • Минимум
    • Неопределено - Минимальное значение
    • Число - Минимальное значение
  • ЗнаковПослеЗапятой
    • Число - Знаков после запятой

Возвращает

Число - Случайное отрицательное число


СлучайнаяСтрока

Генерирует и возвращает случайную строку указанной длины, строка может содержать цифры, английские и русские буквы в разных регистрах.

Параметры метода

  • Длина
    • Число - Длина генерируемой строки, без учета префикса
  • Префикс
    • Строка - Префикс строки

Возвращает

Строка - Случайная строка


СлучайнаяДата

Генерирует и возвращает случайную дату в указанном интервале (если не указан используется 0001-01-01 - 3999-12-31).

Параметры метода

  • Минимум
    • Дата - Минимальное значение случайной даты
    • Неопределено - Если не указано используется 0001-01-01
  • Максимум
    • Дата - Максимальное значение случайной даты
    • Неопределено - Если не указано используется 3999-12-31

Возвращает

Дата - Случайная дата


СлучайныйIPАдрес

Генерирует и возвращает случайный IP адрес.

Возвращает

Строка - Случайный IP адрес


УникальнаяСтрока

Генерирует и возвращает уникальную строку, формируется из уникального идентификатора.

Параметры метода

  • Префикс
    • Строка - Префикс строки

Возвращает

Строка - Уникальная строка


СлучайноеЗначениеИзСписка

Возвращает случайный элемент списка.

Параметры метода

  • Список
    • Массив из Произвольный - Коллекция возможных значений

Возвращает

Произвольный - случайное значение из списка


СлучайноеБулево

Возвращает случайно логическое значение.

Возвращает

Булево - Случайное булево


НовыйФайл

Создает новый файл, который будет удален после теста

Параметры метода

  • Содержимое
    • Строка - Содержимое файла
    • Неопределено - Содержимое файла
  • ТолькоЧтение
    • Булево - Установить атрибут только чтение
  • Расширение
    • Строка - Расширение нового файла
    • Неопределено - Расширение нового файла

Возвращает

Строка - Новый файл


НовоеИмяВременногоФайла

Возвращает имя нового файла. По окончании выполнения теста этот файл будет удален.

Параметры метода

  • Расширение
    • Строка - Расширение нового файла

Возвращает

Строка -


ТаблицаMarkDown

Читает таблицу MarkDown в массив структур

Параметры метода

  • Строки
    • Строка - Таблица markdown

Возвращает

Массив из Структура - Данные таблицы markdown


СтруктураMarkDown

Формирует структуру на основании таблицы Markdown

Параметры метода

  • Ключ
    • Строка - Имя ключевой колонки
  • Строки
    • Строка - Таблица markdown

Возвращает

Структура -


ВариантыПараметров

Формирует массив различных комбиначий параметров

Предназначено для формирования таблицы возможных значений параметров для краш теста метода.

Параметры метода

  • ЗначенияПоУмолчанию
    • Структура - Значения параметров по умолчанию.
  • ЗначенияПараметров
    • Структура - Массивы значений для каждого параметра.

Возвращает

Массив из Структура - Варианты параметров.


КонструкторОбъекта

Возвращает конструктор создания тестовых данных

Конструктор имеет ряд особенностей:

  • Нельзя использовать параллельно несколько конструкторов. Например
Пользователь = КонструкторОбъекта(Справочники.Пользователи);
Документ = КонструкторОбъекта(Документы.Приход);
...
Пользователь.Записать();
Документ.Провести();
  • Создание объекта происходит при вызове методов Записать и Провести, а создание реквизитов происходит во время вызова методов установки.
  • При использовании на клиенте все значения должны быть сериализуемыми.

Параметры метода

  • Менеджер
    • Строка - Имя менеджера. Примеры: Справочники.Товары, Документы.ПриходТоваров

Возвращает

ОбработкаОбъект.ЮТКонструкторТестовыхДанных -


Удалить

Удаляет переданные объекта

Параметры метода

  • Ссылки
    • Массив из ЛюбаяСсылка -

HTTPСервисЗапрос

Возвращает мок для HTTPСервисЗапрос.

Возвращает

ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок

- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/index.html" "b/api/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/index.html" index 7bd396695..ca7e8b77d 100644 --- "a/api/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/index.html" +++ "b/api/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/index.html" @@ -5,7 +5,7 @@ ЮТТесты | YAx Unit - + @@ -14,7 +14,7 @@ Например

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


ДобавитьКлиентскийТест

Регистрирует тест исполняемый на клиенте.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


ДобавитьСерверныйТест

Регистрирует тест исполняемый на сервере.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


НастройкаИсполнения

Устанавливает настройку выполнения тестового метода.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


ВТранзакции

Устанавливает настройку выполнения тестового метода в транзакции.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


УдалениеТестовыхДанных

Устанавливает настройку удаления созданных тестовых данных В отличии от использования транзакции:

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания


СПараметрами

Устанавливает параметры вызова теста.

Параметры метода

Возвращает

ОбщийМодуль - Этот же модуль, для замыкания

Примеры:

ЮТТесты.ДобавитьТест("Тест1").СПараметрами(1, 2); // Будет зарегистрирован один тест с параметрами 1, 2
ЮТТесты.ДобавитьТест("Тест1")
.СПараметрами(1)
.СПараметрами(2); // Будет зарегистрировано два теста, первый с параметром 1 и второй с параметром 2

Тест

Устаревший

Регистрирует тест.

Параметры метода


ТестКлиент

Устаревший

Регистрирует тест вызываемый на клиенте.

Параметры метода


ТестСервер

Устаревший

Регистрирует тест вызываемый на сервере.

Параметры метода


ТестовыйНабор

Устаревший

Создает и регистрирует набор, в который будут добавляться последующие тесты.

Параметры метода

- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/index.html" "b/api/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/index.html" index 7eec72b9e..607f19677 100644 --- "a/api/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/index.html" +++ "b/api/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/index.html" @@ -5,7 +5,7 @@ ЮТУтверждения | YAx Unit - + @@ -34,7 +34,7 @@ см. ЮТест.Предикат

Параметры метода

Возвращает

ОбщийМодуль - Этот модуль для замыкания


ЛюбойЭлементСоответствуетПредикату

Проверяет элементы установленного значения (или его свойства), хотя бы один из них должен соответствовать утверждениям предиката. см. ЮТест.Предикат

Параметры метода

Возвращает

ОбщийМодуль - Этот модуль для замыкания

- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/index.html" "b/api/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/index.html" index d36a7da33..dd57fa2e1 100644 --- "a/api/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/index.html" +++ "b/api/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/index.html" @@ -5,13 +5,13 @@ ЮТУтвержденияИБ | YAx Unit - +
Skip to main content

Утверждения ИБ (ЮТУтвержденияИБ)

Предоставляет методы для формирования утверждений проверяющих данные информационной базы.

Например:

ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары")
.СодержитЗаписи();
ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют")
.СодержитЗаписи(ЮТест.Предикат()
.Реквизит("Валюта").Равно(ДанныеРегистра.Валюта));

Методы модуля


ЧтоТаблица

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

  • Запоминает/устанавливает имя проверяемой таблицы
  • Запоминает описание.

Параметры метода

  • ИмяТаблицы
    • Строка - Имя проверяемой таблицы, например, Справочник.Товары, РегистрНакопления.ТоварыНаСкладах
  • ОписаниеПроверки
    • Строка - Описание проверки, которое будет выведено при возникновении ошибки

Возвращает

ОбщийМодуль - Этот модуль для замыкания


СодержитЗаписи

Проверяет наличие в таблице записей удовлетворяющих условиям

Параметры метода

  • Предикат
    • ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат
    • Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить
    • ЮТФабрика.ВыражениеПредикатасм. ЮТФабрика.ВыражениеПредиката -
    • Неопределено - Проверит, что таблица не пустая
  • ОписаниеУтверждения
    • Строка - Описание конкретного утверждения

Возвращает

ОбщийМодуль - Этот модуль для замыкания


НеСодержитЗаписи

Проверяет отсутствие в таблице записей удовлетворяющих условиям

Параметры метода

  • Предикат
    • ОбщийМодуль - Условия сформированные с использованием см. ЮТест.Предикат
    • Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить
    • ЮТФабрика.ВыражениеПредикатасм. ЮТФабрика.ВыражениеПредиката -
    • Неопределено - Проверит, что таблица пустая
  • ОписаниеУтверждения
    • Строка - Описание конкретного утверждения

Возвращает

ОбщийМодуль - Этот модуль для замыкания


СодержитЗаписиСНаименованием

Проверяет наличие в таблице записей с указанным наименованием

Параметры метода

  • ОжидаемоеНаименование
    • Строка -
  • ПроверятьПометкуУдаления
    • Булево - Проверять пометку удаления.
      • Истина - Подбираются только непомеченные на удаление записи.
      • Ложь - пометка на удаление игнорируется
  • ОписаниеУтверждения
    • Строка - Описание конкретного утверждения

Возвращает

ОбщийМодуль - Этот модуль для замыкания


СодержитЗаписиСКодом

Проверяет наличие в таблице записей с указанным кодом

Параметры метода

  • ОжидаемыйКод
    • Строка -
  • ПроверятьПометкуУдаления
    • Булево - Проверять пометку удаления.
      • Истина - Подбираются только непомеченные на удаление записи.
      • Ложь - пометка на удаление игнорируется
  • ОписаниеУтверждения
    • Строка - Описание конкретного утверждения

Возвращает

ОбщийМодуль - Этот модуль для замыкания


СодержитЗаписиСНомером

Проверяет наличие в таблице записей с указанным номером

Параметры метода

  • ОжидаемыйНомер
    • Строка -
  • ПроверятьПометкуУдаления
    • Булево - Проверять пометку удаления.
      • Истина - Подбираются только непомеченные на удаление записи.
      • Ложь - пометка на удаление игнорируется
  • ОписаниеУтверждения
    • Строка - Описание конкретного утверждения

Возвращает

ОбщийМодуль - Этот модуль для замыкания


НеСодержитЗаписиСНаименованием

Проверяет отсутствие в таблице записей с указанным наименованием

Параметры метода

  • ОжидаемоеНаименование
    • Строка -
  • ПроверятьПометкуУдаления
    • Булево - Проверять пометку удаления.
      • Истина - Подбираются только непомеченные на удаление записи.
      • Ложь - пометка на удаление игнорируется
  • ОписаниеУтверждения
    • Строка - Описание конкретного утверждения

Возвращает

ОбщийМодуль - Этот модуль для замыкания


НеСодержитЗаписиСКодом

Проверяет отсутствие в таблице записей с указанным кодом

Параметры метода

  • ОжидаемыйКод
    • Строка -
  • ПроверятьПометкуУдаления
    • Булево - Проверять пометку удаления.
      • Истина - Подбираются только непомеченные на удаление записи.
      • Ложь - пометка на удаление игнорируется
  • ОписаниеУтверждения
    • Строка - Описание конкретного утверждения

Возвращает

ОбщийМодуль - Этот модуль для замыкания


НеСодержитЗаписиСНомером

Проверяет отсутствие в таблице записей с указанным номером

Параметры метода

  • ОжидаемыйНомер
    • Строка -
  • ПроверятьПометкуУдаления
    • Булево - Проверять пометку удаления.
      • Истина - Подбираются только непомеченные на удаление записи.
      • Ложь - пометка на удаление игнорируется
  • ОписаниеУтверждения
    • Строка - Описание конкретного утверждения

Возвращает

ОбщийМодуль - Этот модуль для замыкания

- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/index.html" "b/api/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/index.html" index 5b4ecca9e..63ef12e76 100644 --- "a/api/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/index.html" +++ "b/api/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/index.html" @@ -5,13 +5,13 @@ ЮТФайлы | YAx Unit - +
Skip to main content

Файлы (ЮТФайлы)

Методы модуля


Существует

Проверяет существование файла

Параметры метода

  • ПутьКФайлу
    • Строка -
  • Обработчик
    • ОписаниеОповещения - Обработчик асинхронного получения свойства файла. Если обработчик указан, но проверка выполняется асинхронно.
    • Неопределено - Проверка выполняется синхронно.

Возвращает

Булево - Существует


ЭтоКаталог

Проверяет, что по указанному пути находится каталог

Параметры метода

  • ПутьКФайлу
    • Строка -
  • Обработчик
    • ОписаниеОповещения - Обработчик асинхронного получения свойства файла. Если обработчик указан, но проверка выполняется асинхронно.
    • Неопределено - Проверка выполняется синхронно.

Возвращает

Булево - Это каталог


ОбъединитьПути

Возвращает путь к вложенному элементу

Параметры метода

  • Путь1
    • Строка - базовый путь к каталогу
  • Путь2
    • Строка - относительный путь к вложенному элементу

Возвращает

Строка - Объединенный путь


УдалитьВременныеФайлы

Удаляет файлы

Параметры метода

  • Файлы
    • Массив из Файл -
    • Массив из Строка -
- + \ No newline at end of file diff --git "a/api/\320\256\320\242\320\265\321\201\321\202/index.html" "b/api/\320\256\320\242\320\265\321\201\321\202/index.html" index a75264945..c6db8f93d 100644 --- "a/api/\320\256\320\242\320\265\321\201\321\202/index.html" +++ "b/api/\320\256\320\242\320\265\321\201\321\202/index.html" @@ -5,7 +5,7 @@ ЮТест | YAx Unit - + @@ -13,7 +13,7 @@
Skip to main content

Тест (ЮТест)

Методы модуля


ОжидаетЧто

Возвращает API формирования утверждения для проверки теста.

Параметры метода

  • ПроверяемоеЗначение
    • Произвольный - Проверяемое фактическое значение
  • Сообщение
    • Строка - Описание проверки, которое будет выведено при возникновении ошибки

Возвращает

ОбщийМодуль - Утверждения, см. ЮТУтверждения


ОжидаетЧтоТаблицаБазы

Возвращает API формирования утверждения для проверки данных базы.

Параметры метода

  • ИмяТаблицы
    • Произвольный - Имя таблицы базы, например, Справочник.Пользователи, Документ.ПКО, РегистрСведений.ИнформацияОбОшибках
  • Сообщение
    • Строка - Описание проверки, которое будет выведено при возникновении ошибки

Возвращает

ОбщийМодуль - Утверждения для проверки данных базы, см. ЮТУтвержденияИБ


Данные

Возвращает API для работы с тестовыми данными.

Возвращает

ОбщийМодуль - Данные, см. ЮТТестовыеДанные.


Предикат

Возвращает API для формирования предикатов/утверждений, которые могут быть использованы для проверки коллекций.

Возвращает

ОбщийМодуль - см. ЮТПредикаты.


Варианты

Конструктор вариантов прогона теста.

Используется для формирования набора различных параметров выполнения.

Параметры метода

  • Реквизиты
    • Строка - Список реквизитов варианта разделенных запятой

Возвращает

ОбщийМодуль - Варианты, см. ЮТКонструкторВариантов.


Контекст


Пропустить

Пропустить выполнение теста.

Используется если тест выполняется в неподходящих условиях и не нужно его выполнять, но отразить в отчете требуется.

Параметры метода

  • Сообщение
    • Строка - Сообщение
    • Неопределено - Сообщение

КонтекстТеста

Возвращает структуру, в которой можно хранить данные используемые в тесте.

Данные живут в рамках одного теста, но доступны в обработчиках событий ПередКаждымТестом и ПослеКаждогоТеста.

Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике ПослеКаждогоТеста.

Возвращает

Структура - Контекст теста


КонтекстТестовогоНабора

Возвращает структуру, в которой можно хранить данные используемые в тестах набора.

Данные живут в рамках одного набора тестов (данные между клиентом и сервером не синхронизируются). Доступны в каждом тесте набора и в обработчиках событий:

  • ПередТестовымНабором
  • ПослеТестовогоНабора
  • ПередКаждымТестом
  • ПослеКаждогоТеста

Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике ПослеКаждогоТеста.

Возвращает

Структура - Контекст набора тестов


КонтекстМодуля

Возвращает структуру, в которой можно хранить данные используемые в тестах модуля.

Данные живут в рамках одного тестового модуля (данные между клиентом и сервером не синхронизируются). Доступны в каждом тесте модуля и в обработчиках событий.

Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике ПослеВсехТестов.

Возвращает

Структура - Контекст тестового модуля

- + \ No newline at end of file diff --git a/assets/js/8a441de7.01dea70b.js b/assets/js/8a441de7.01dea70b.js deleted file mode 100644 index 8d2e22578..000000000 --- a/assets/js/8a441de7.01dea70b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9841],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>y});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=n.createContext({}),p=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},s="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),s=p(r),d=o,y=s["".concat(u,".").concat(d)]||s[d]||f[d]||i;return r?n.createElement(y,a(a({ref:t},l),{},{components:r})):n.createElement(y,a({ref:t},l))}));function y(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c[s]="string"==typeof e?e:o,a[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>f,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(7462),o=(r(7294),r(3905));const i={sidebar_position:1},a="\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430",c={unversionedId:"index",id:"index",title:"\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430",description:"\u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430.",source:"@site/contributing/index.md",sourceDirName:".",slug:"/",permalink:"/yaxunit/contributing/",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"contributing"},u={},p=[],l={toc:p},s="wrapper";function f(e){let{components:t,...r}=e;return(0,o.kt)(s,(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430"},"\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430"),(0,o.kt)("p",null,"\u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430."))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8a441de7.9ec935a2.js b/assets/js/8a441de7.9ec935a2.js new file mode 100644 index 000000000..423c050c2 --- /dev/null +++ b/assets/js/8a441de7.9ec935a2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9841],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>d});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),u=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},s="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),s=u(r),m=o,d=s["".concat(p,".").concat(m)]||s[m]||f[m]||i;return r?n.createElement(d,a(a({ref:t},l),{},{components:r})):n.createElement(d,a({ref:t},l))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c[s]="string"==typeof e?e:o,a[1]=c;for(var u=2;u{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>f,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const i={sidebar_position:1},a="\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430",c={unversionedId:"index",id:"index",title:"\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430",description:"\u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430.",source:"@site/contributing/index.md",sourceDirName:".",slug:"/",permalink:"/yaxunit/contributing/",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"contributing"},p={},u=[{value:"\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435",id:"\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435",level:2}],l={toc:u},s="wrapper";function f(e){let{components:t,...r}=e;return(0,o.kt)(s,(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430"},"\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430"),(0,o.kt)("p",null,"\u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430."),(0,o.kt)("h2",{id:"\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"},"\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"),(0,o.kt)("p",null,"\u0414\u043b\u044f \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/bia-technologies/yaxunit/tree/develop/fixtures/demo-configuration"},"\u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0430\u044f \u0434\u0435\u043c\u043e-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f")," \u043e\u0442 \u0444\u0438\u0440\u043c\u044b ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/1C-Company"},"1\u0421"),"."),(0,o.kt)("p",null,"\u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0432 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u0442\u044c \u043a \u043d\u0435\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 yaxunit, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u0441\u0442\u044b."))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.d2faa19e.js b/assets/js/runtime~main.73e99d31.js similarity index 99% rename from assets/js/runtime~main.d2faa19e.js rename to assets/js/runtime~main.73e99d31.js index d53162651..34b336b77 100644 --- a/assets/js/runtime~main.d2faa19e.js +++ b/assets/js/runtime~main.73e99d31.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",160:"bb645842",211:"cbf281ac",590:"13004c28",845:"95c82da5",938:"55057ffa",1132:"86983b37",1231:"2c52eeb3",1411:"4611bbd8",1599:"55cab8f0",1772:"c2a4c88b",1932:"678224da",2516:"c03c04aa",2535:"814f3328",2611:"294410fc",2692:"1ea249dc",2844:"f3976560",2942:"d307bf8f",3008:"a683f01f",3085:"1f391b9e",3089:"a6aa9e1f",3176:"b04ebe6d",3223:"83973926",3292:"b040f02c",3473:"718bd7e0",3608:"9e4087bc",3693:"71e303ab",3719:"24d731b7",3751:"3720c009",3883:"3afefd14",3989:"4a50d141",4013:"01a85c17",4076:"a20d80e4",4121:"55960ee5",4193:"caae674e",4227:"d71fe26b",4279:"76fb6500",4562:"d5246bf4",4690:"7aea3cf4",4822:"6fcd5d5a",4826:"5be6a16d",5021:"a2b89f96",5071:"d210975c",5268:"e240b145",5280:"2092d426",5481:"7236af91",5537:"3df63a0a",6026:"fc2ca8e1",6103:"ccc49370",6324:"c3851262",6409:"e4b88559",6562:"3d6d2e7c",6650:"4f11a88e",6721:"654eb3dd",6778:"aec13611",6884:"c0daab7c",6965:"caedb6f9",6979:"5e4131a4",7007:"ca44e3ed",7128:"f5f1c972",7212:"17ef9299",7295:"2005ce8e",7391:"10cd93aa",7411:"3816483d",7482:"ddc57651",7571:"2004ec27",7694:"c71718f6",7918:"17896441",8086:"293e9c68",8373:"7618c2c1",8389:"8d216ac8",8546:"b350b496",8610:"6875c492",8881:"bbd10a9a",9514:"1be78505",9573:"19ead4d2",9604:"93bb6be3",9841:"8a441de7",9920:"ae486719",9924:"df203c0f"}[e]||e)+"."+{53:"9319009b",160:"6b438838",211:"bb21f6d2",590:"fb359d09",845:"f602a372",938:"ff9a8756",1132:"b34d8d07",1231:"e63915e7",1411:"1ec532ae",1599:"5cbf9567",1772:"4b2d13d0",1932:"fa8ab194",2516:"801da92b",2529:"617e2f89",2535:"75ee46b6",2611:"b6e5c9f2",2692:"2e03c26c",2844:"83538c38",2942:"80095de2",3008:"85d2478e",3085:"35f3719d",3089:"3045ba7f",3176:"d8e8a200",3223:"153200a9",3292:"c2705e3c",3473:"bd39fbcf",3608:"d1ed6d33",3693:"1357e973",3719:"851d9613",3751:"1f3ae7a5",3883:"fed85d3c",3989:"d73aaa8d",4013:"01811b28",4076:"1a21b75e",4121:"659daffe",4193:"27fe3fa4",4227:"c6625b71",4279:"92aeeb46",4562:"581e9c77",4690:"7f3ecebd",4822:"5f98a4c9",4826:"7af82d9b",4972:"65aec0ae",5021:"8c3fb109",5071:"fea2fdec",5268:"8ababc63",5280:"9c4d0585",5481:"a6604480",5537:"5e09c1f3",6026:"76f50e33",6103:"1fe64832",6316:"8de428ad",6324:"c0f3bbae",6409:"e1c61438",6562:"8fe6714f",6650:"4f0752f8",6721:"26e523a6",6778:"3b351763",6884:"fc03956d",6965:"03ecd775",6979:"dda59021",7007:"c69e2305",7128:"e1915837",7212:"aca268f8",7295:"42c5f75d",7391:"3e2998b8",7411:"da19d6bd",7482:"eef3b50a",7571:"954237ba",7694:"9935fe5b",7724:"d5cf31c6",7918:"9b65d999",8086:"a50bc729",8373:"fd21d566",8389:"19ef5b42",8546:"36519662",8610:"0709fb4b",8881:"9a1a9f52",8905:"7561e8c6",9487:"a68132ed",9514:"d91c191f",9573:"4567fbcc",9604:"da2f73dc",9841:"01dea70b",9920:"8464fa3c",9924:"26e95b43"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="documentation:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/yaxunit/",r.gca=function(e){return e={17896441:"7918",83973926:"3223","935f2afb":"53",bb645842:"160",cbf281ac:"211","13004c28":"590","95c82da5":"845","55057ffa":"938","86983b37":"1132","2c52eeb3":"1231","4611bbd8":"1411","55cab8f0":"1599",c2a4c88b:"1772","678224da":"1932",c03c04aa:"2516","814f3328":"2535","294410fc":"2611","1ea249dc":"2692",f3976560:"2844",d307bf8f:"2942",a683f01f:"3008","1f391b9e":"3085",a6aa9e1f:"3089",b04ebe6d:"3176",b040f02c:"3292","718bd7e0":"3473","9e4087bc":"3608","71e303ab":"3693","24d731b7":"3719","3720c009":"3751","3afefd14":"3883","4a50d141":"3989","01a85c17":"4013",a20d80e4:"4076","55960ee5":"4121",caae674e:"4193",d71fe26b:"4227","76fb6500":"4279",d5246bf4:"4562","7aea3cf4":"4690","6fcd5d5a":"4822","5be6a16d":"4826",a2b89f96:"5021",d210975c:"5071",e240b145:"5268","2092d426":"5280","7236af91":"5481","3df63a0a":"5537",fc2ca8e1:"6026",ccc49370:"6103",c3851262:"6324",e4b88559:"6409","3d6d2e7c":"6562","4f11a88e":"6650","654eb3dd":"6721",aec13611:"6778",c0daab7c:"6884",caedb6f9:"6965","5e4131a4":"6979",ca44e3ed:"7007",f5f1c972:"7128","17ef9299":"7212","2005ce8e":"7295","10cd93aa":"7391","3816483d":"7411",ddc57651:"7482","2004ec27":"7571",c71718f6:"7694","293e9c68":"8086","7618c2c1":"8373","8d216ac8":"8389",b350b496:"8546","6875c492":"8610",bbd10a9a:"8881","1be78505":"9514","19ead4d2":"9573","93bb6be3":"9604","8a441de7":"9841",ae486719:"9920",df203c0f:"9924"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",160:"bb645842",211:"cbf281ac",590:"13004c28",845:"95c82da5",938:"55057ffa",1132:"86983b37",1231:"2c52eeb3",1411:"4611bbd8",1599:"55cab8f0",1772:"c2a4c88b",1932:"678224da",2516:"c03c04aa",2535:"814f3328",2611:"294410fc",2692:"1ea249dc",2844:"f3976560",2942:"d307bf8f",3008:"a683f01f",3085:"1f391b9e",3089:"a6aa9e1f",3176:"b04ebe6d",3223:"83973926",3292:"b040f02c",3473:"718bd7e0",3608:"9e4087bc",3693:"71e303ab",3719:"24d731b7",3751:"3720c009",3883:"3afefd14",3989:"4a50d141",4013:"01a85c17",4076:"a20d80e4",4121:"55960ee5",4193:"caae674e",4227:"d71fe26b",4279:"76fb6500",4562:"d5246bf4",4690:"7aea3cf4",4822:"6fcd5d5a",4826:"5be6a16d",5021:"a2b89f96",5071:"d210975c",5268:"e240b145",5280:"2092d426",5481:"7236af91",5537:"3df63a0a",6026:"fc2ca8e1",6103:"ccc49370",6324:"c3851262",6409:"e4b88559",6562:"3d6d2e7c",6650:"4f11a88e",6721:"654eb3dd",6778:"aec13611",6884:"c0daab7c",6965:"caedb6f9",6979:"5e4131a4",7007:"ca44e3ed",7128:"f5f1c972",7212:"17ef9299",7295:"2005ce8e",7391:"10cd93aa",7411:"3816483d",7482:"ddc57651",7571:"2004ec27",7694:"c71718f6",7918:"17896441",8086:"293e9c68",8373:"7618c2c1",8389:"8d216ac8",8546:"b350b496",8610:"6875c492",8881:"bbd10a9a",9514:"1be78505",9573:"19ead4d2",9604:"93bb6be3",9841:"8a441de7",9920:"ae486719",9924:"df203c0f"}[e]||e)+"."+{53:"9319009b",160:"6b438838",211:"bb21f6d2",590:"fb359d09",845:"f602a372",938:"ff9a8756",1132:"b34d8d07",1231:"e63915e7",1411:"1ec532ae",1599:"5cbf9567",1772:"4b2d13d0",1932:"fa8ab194",2516:"801da92b",2529:"617e2f89",2535:"75ee46b6",2611:"b6e5c9f2",2692:"2e03c26c",2844:"83538c38",2942:"80095de2",3008:"85d2478e",3085:"35f3719d",3089:"3045ba7f",3176:"d8e8a200",3223:"153200a9",3292:"c2705e3c",3473:"bd39fbcf",3608:"d1ed6d33",3693:"1357e973",3719:"851d9613",3751:"1f3ae7a5",3883:"fed85d3c",3989:"d73aaa8d",4013:"01811b28",4076:"1a21b75e",4121:"659daffe",4193:"27fe3fa4",4227:"c6625b71",4279:"92aeeb46",4562:"581e9c77",4690:"7f3ecebd",4822:"5f98a4c9",4826:"7af82d9b",4972:"65aec0ae",5021:"8c3fb109",5071:"fea2fdec",5268:"8ababc63",5280:"9c4d0585",5481:"a6604480",5537:"5e09c1f3",6026:"76f50e33",6103:"1fe64832",6316:"8de428ad",6324:"c0f3bbae",6409:"e1c61438",6562:"8fe6714f",6650:"4f0752f8",6721:"26e523a6",6778:"3b351763",6884:"fc03956d",6965:"03ecd775",6979:"dda59021",7007:"c69e2305",7128:"e1915837",7212:"aca268f8",7295:"42c5f75d",7391:"3e2998b8",7411:"da19d6bd",7482:"eef3b50a",7571:"954237ba",7694:"9935fe5b",7724:"d5cf31c6",7918:"9b65d999",8086:"a50bc729",8373:"fd21d566",8389:"19ef5b42",8546:"36519662",8610:"0709fb4b",8881:"9a1a9f52",8905:"7561e8c6",9487:"a68132ed",9514:"d91c191f",9573:"4567fbcc",9604:"da2f73dc",9841:"9ec935a2",9920:"8464fa3c",9924:"26e95b43"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="documentation:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/yaxunit/",r.gca=function(e){return e={17896441:"7918",83973926:"3223","935f2afb":"53",bb645842:"160",cbf281ac:"211","13004c28":"590","95c82da5":"845","55057ffa":"938","86983b37":"1132","2c52eeb3":"1231","4611bbd8":"1411","55cab8f0":"1599",c2a4c88b:"1772","678224da":"1932",c03c04aa:"2516","814f3328":"2535","294410fc":"2611","1ea249dc":"2692",f3976560:"2844",d307bf8f:"2942",a683f01f:"3008","1f391b9e":"3085",a6aa9e1f:"3089",b04ebe6d:"3176",b040f02c:"3292","718bd7e0":"3473","9e4087bc":"3608","71e303ab":"3693","24d731b7":"3719","3720c009":"3751","3afefd14":"3883","4a50d141":"3989","01a85c17":"4013",a20d80e4:"4076","55960ee5":"4121",caae674e:"4193",d71fe26b:"4227","76fb6500":"4279",d5246bf4:"4562","7aea3cf4":"4690","6fcd5d5a":"4822","5be6a16d":"4826",a2b89f96:"5021",d210975c:"5071",e240b145:"5268","2092d426":"5280","7236af91":"5481","3df63a0a":"5537",fc2ca8e1:"6026",ccc49370:"6103",c3851262:"6324",e4b88559:"6409","3d6d2e7c":"6562","4f11a88e":"6650","654eb3dd":"6721",aec13611:"6778",c0daab7c:"6884",caedb6f9:"6965","5e4131a4":"6979",ca44e3ed:"7007",f5f1c972:"7128","17ef9299":"7212","2005ce8e":"7295","10cd93aa":"7391","3816483d":"7411",ddc57651:"7482","2004ec27":"7571",c71718f6:"7694","293e9c68":"8086","7618c2c1":"8373","8d216ac8":"8389",b350b496:"8546","6875c492":"8610",bbd10a9a:"8881","1be78505":"9514","19ead4d2":"9573","93bb6be3":"9604","8a441de7":"9841",ae486719:"9920",df203c0f:"9924"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n У нас появился блог | YAx Unit - +

У нас появился блог

· One min read
alkoleft

Здесь мы будем размещать новости о выпусках релизов, небольшие заметки и прочее.

Вы также можете добавлять свои посты делясь полезной информацией с сообществом. Для этого вам необходимо разместить его в каталоге documentation/blog

Описание по созданию постов

- + \ No newline at end of file diff --git a/blog/2023/04/29/02-engine-release/index.html b/blog/2023/04/29/02-engine-release/index.html index 988ce7548..eecac5f20 100644 --- a/blog/2023/04/29/02-engine-release/index.html +++ b/blog/2023/04/29/02-engine-release/index.html @@ -5,13 +5,13 @@ YaxUnit. Версия 23.04 | YAx Unit - +

YaxUnit. Версия 23.04

· One min read
alkoleft

Release 23.04

Новое в версии

Тестовые данные

  • Новые ф-ии для удаления тестовых данных по ссылкам

Мокирование

  • Восстановлена потерянная возможность задавать различное поведение для цепочки одинаковых вызовов
  • Доступ к статистике вызовов методов при проверке
  • Сброс статистики вызовов методов при нескольких "прогонах" в одном тесте
  • Реализована возможность мокирования HTTP сервисов

Утверждения

  • Новое утверждение для сравнения коллекций (by @ViktorErmakov)

Документация

  • Создан статический сайт с документацией в удобном виде
  • Обновлена и дополнена документация

Прочее

  • Внесены доработки для более удобного использования в CI
  • Доработан движок для работы в режиме без использования синхронных методов
Внимание

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

- + \ No newline at end of file diff --git a/blog/2023/04/29/03-plugin-release/index.html b/blog/2023/04/29/03-plugin-release/index.html index 36423c840..69a45a98e 100644 --- a/blog/2023/04/29/03-plugin-release/index.html +++ b/blog/2023/04/29/03-plugin-release/index.html @@ -5,13 +5,13 @@ EDT Test runner. Версия 23.04 | YAx Unit - +

EDT Test runner. Версия 23.04

· One min read
alkoleft

Release 23.04

Новое в версии

  • Модернизирована панель просмотра ошибок тестов
  • Реализована навигация между тестом и тестируемым методом
  • Исправлена ошибка, при которой в дереве предметов отладки оставались записи
  • Различные дополнения и правки в документации, включая исправление опечаток (спасибо @artbear)
  • Исправлена ошибка конфликта с плагином git
- + \ No newline at end of file diff --git a/blog/2023/05/25/engine-release/index.html b/blog/2023/05/25/engine-release/index.html index 9343f091b..6d415dea9 100644 --- a/blog/2023/05/25/engine-release/index.html +++ b/blog/2023/05/25/engine-release/index.html @@ -5,13 +5,13 @@ YaxUnit. Версия 23.05 | YAx Unit - +

YaxUnit. Версия 23.05

· One min read
alkoleft

Release 23.05

Новое в версии

Тестовые данные

  • Научили конструктор тестовых данных создавать данные в регистрах #69
  • Реализовано удаление тестовых данных созданных на клиенте #74
  • Добавлена возможность создания объекта без записи и формирование вариантов параметров #86
  • Реализована поддержка параметров заполнения для функции "Фикция" в тестовых данных #75
  • Сброс признака ОбменДанными.Загрузка после создании объекта через методы движка #92
  • Поддержка генератором тестовых данных создания группы #90
  • Возможность создавать несколько конструкторов тестовых данных #55
  • В конструктор тестовых данных добавлен метод заполнения обязательных полей фиктивными данными #93

Мокито

  • Использование предикатов при указании параметров мокируемого метода #98
  • Исправлена ошибка неправильного сравнение параметров при проверке вызовов Мокито #76. Спасибо @alexandr-yang
  • Исправлена ошибка подбора реакции Мокито #62

Утверждения

  • Утверждения для проверки таблиц информационной базы #70

Запросы

  • Расширение API для работы с запросами #94

Прочее

  • Добавлена картинка подсистемы 16*16 #78. Спасибо @petypen
  • Исправлены некоторые ошибки #85. Спасибо @potoyalo
  • Добавлена настройки выполнения на уровень модуля #84
- + \ No newline at end of file diff --git a/blog/archive/index.html b/blog/archive/index.html index 2174fafc8..2cc7c61ad 100644 --- a/blog/archive/index.html +++ b/blog/archive/index.html @@ -5,13 +5,13 @@ Archive | YAx Unit - + - + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index d1dc3c4e5..da9c76e29 100644 --- a/blog/index.html +++ b/blog/index.html @@ -5,14 +5,14 @@ Заметки | YAx Unit - +

· One min read
alkoleft

Release 23.05

Новое в версии

Тестовые данные

  • Научили конструктор тестовых данных создавать данные в регистрах #69
  • Реализовано удаление тестовых данных созданных на клиенте #74
  • Добавлена возможность создания объекта без записи и формирование вариантов параметров #86
  • Реализована поддержка параметров заполнения для функции "Фикция" в тестовых данных #75
  • Сброс признака ОбменДанными.Загрузка после создании объекта через методы движка #92
  • Поддержка генератором тестовых данных создания группы #90
  • Возможность создавать несколько конструкторов тестовых данных #55
  • В конструктор тестовых данных добавлен метод заполнения обязательных полей фиктивными данными #93

Мокито

  • Использование предикатов при указании параметров мокируемого метода #98
  • Исправлена ошибка неправильного сравнение параметров при проверке вызовов Мокито #76. Спасибо @alexandr-yang
  • Исправлена ошибка подбора реакции Мокито #62

Утверждения

  • Утверждения для проверки таблиц информационной базы #70

Запросы

  • Расширение API для работы с запросами #94

Прочее

  • Добавлена картинка подсистемы 16*16 #78. Спасибо @petypen
  • Исправлены некоторые ошибки #85. Спасибо @potoyalo
  • Добавлена настройки выполнения на уровень модуля #84

· One min read
alkoleft

Здесь мы будем размещать новости о выпусках релизов, небольшие заметки и прочее.

Вы также можете добавлять свои посты делясь полезной информацией с сообществом. Для этого вам необходимо разместить его в каталоге documentation/blog

Описание по созданию постов

· One min read
alkoleft

Release 23.04

Новое в версии

Тестовые данные

  • Новые ф-ии для удаления тестовых данных по ссылкам

Мокирование

  • Восстановлена потерянная возможность задавать различное поведение для цепочки одинаковых вызовов
  • Доступ к статистике вызовов методов при проверке
  • Сброс статистики вызовов методов при нескольких "прогонах" в одном тесте
  • Реализована возможность мокирования HTTP сервисов

Утверждения

  • Новое утверждение для сравнения коллекций (by @ViktorErmakov)

Документация

  • Создан статический сайт с документацией в удобном виде
  • Обновлена и дополнена документация

Прочее

  • Внесены доработки для более удобного использования в CI
  • Доработан движок для работы в режиме без использования синхронных методов
Внимание

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

· One min read
alkoleft

Release 23.04

Новое в версии

  • Модернизирована панель просмотра ошибок тестов
  • Реализована навигация между тестом и тестируемым методом
  • Исправлена ошибка, при которой в дереве предметов отладки оставались записи
  • Различные дополнения и правки в документации, включая исправление опечаток (спасибо @artbear)
  • Исправлена ошибка конфликта с плагином git
- + \ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html index e9ecc131f..633a75692 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -5,13 +5,13 @@ Tags | YAx Unit - + - + \ No newline at end of file diff --git a/blog/tags/plugin/index.html b/blog/tags/plugin/index.html index 745560479..c16567c85 100644 --- a/blog/tags/plugin/index.html +++ b/blog/tags/plugin/index.html @@ -5,13 +5,13 @@ One post tagged with "plugin" | YAx Unit - +

One post tagged with "plugin"

View All Tags

· One min read
alkoleft

Release 23.04

Новое в версии

  • Модернизирована панель просмотра ошибок тестов
  • Реализована навигация между тестом и тестируемым методом
  • Исправлена ошибка, при которой в дереве предметов отладки оставались записи
  • Различные дополнения и правки в документации, включая исправление опечаток (спасибо @artbear)
  • Исправлена ошибка конфликта с плагином git
- + \ No newline at end of file diff --git a/blog/tags/releases/index.html b/blog/tags/releases/index.html index f539b7d73..b4102b1d8 100644 --- a/blog/tags/releases/index.html +++ b/blog/tags/releases/index.html @@ -5,13 +5,13 @@ 3 posts tagged with "releases" | YAx Unit - +

3 posts tagged with "releases"

View All Tags

· One min read
alkoleft

Release 23.05

Новое в версии

Тестовые данные

  • Научили конструктор тестовых данных создавать данные в регистрах #69
  • Реализовано удаление тестовых данных созданных на клиенте #74
  • Добавлена возможность создания объекта без записи и формирование вариантов параметров #86
  • Реализована поддержка параметров заполнения для функции "Фикция" в тестовых данных #75
  • Сброс признака ОбменДанными.Загрузка после создании объекта через методы движка #92
  • Поддержка генератором тестовых данных создания группы #90
  • Возможность создавать несколько конструкторов тестовых данных #55
  • В конструктор тестовых данных добавлен метод заполнения обязательных полей фиктивными данными #93

Мокито

  • Использование предикатов при указании параметров мокируемого метода #98
  • Исправлена ошибка неправильного сравнение параметров при проверке вызовов Мокито #76. Спасибо @alexandr-yang
  • Исправлена ошибка подбора реакции Мокито #62

Утверждения

  • Утверждения для проверки таблиц информационной базы #70

Запросы

  • Расширение API для работы с запросами #94

Прочее

  • Добавлена картинка подсистемы 16*16 #78. Спасибо @petypen
  • Исправлены некоторые ошибки #85. Спасибо @potoyalo
  • Добавлена настройки выполнения на уровень модуля #84

· One min read
alkoleft

Release 23.04

Новое в версии

Тестовые данные

  • Новые ф-ии для удаления тестовых данных по ссылкам

Мокирование

  • Восстановлена потерянная возможность задавать различное поведение для цепочки одинаковых вызовов
  • Доступ к статистике вызовов методов при проверке
  • Сброс статистики вызовов методов при нескольких "прогонах" в одном тесте
  • Реализована возможность мокирования HTTP сервисов

Утверждения

  • Новое утверждение для сравнения коллекций (by @ViktorErmakov)

Документация

  • Создан статический сайт с документацией в удобном виде
  • Обновлена и дополнена документация

Прочее

  • Внесены доработки для более удобного использования в CI
  • Доработан движок для работы в режиме без использования синхронных методов
Внимание

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

· One min read
alkoleft

Release 23.04

Новое в версии

  • Модернизирована панель просмотра ошибок тестов
  • Реализована навигация между тестом и тестируемым методом
  • Исправлена ошибка, при которой в дереве предметов отладки оставались записи
  • Различные дополнения и правки в документации, включая исправление опечаток (спасибо @artbear)
  • Исправлена ошибка конфликта с плагином git
- + \ No newline at end of file diff --git a/blog/tags/yaxunit/index.html b/blog/tags/yaxunit/index.html index 463a3eb2f..df9001e81 100644 --- a/blog/tags/yaxunit/index.html +++ b/blog/tags/yaxunit/index.html @@ -5,13 +5,13 @@ 2 posts tagged with "yaxunit" | YAx Unit - +

2 posts tagged with "yaxunit"

View All Tags

· One min read
alkoleft

Release 23.05

Новое в версии

Тестовые данные

  • Научили конструктор тестовых данных создавать данные в регистрах #69
  • Реализовано удаление тестовых данных созданных на клиенте #74
  • Добавлена возможность создания объекта без записи и формирование вариантов параметров #86
  • Реализована поддержка параметров заполнения для функции "Фикция" в тестовых данных #75
  • Сброс признака ОбменДанными.Загрузка после создании объекта через методы движка #92
  • Поддержка генератором тестовых данных создания группы #90
  • Возможность создавать несколько конструкторов тестовых данных #55
  • В конструктор тестовых данных добавлен метод заполнения обязательных полей фиктивными данными #93

Мокито

  • Использование предикатов при указании параметров мокируемого метода #98
  • Исправлена ошибка неправильного сравнение параметров при проверке вызовов Мокито #76. Спасибо @alexandr-yang
  • Исправлена ошибка подбора реакции Мокито #62

Утверждения

  • Утверждения для проверки таблиц информационной базы #70

Запросы

  • Расширение API для работы с запросами #94

Прочее

  • Добавлена картинка подсистемы 16*16 #78. Спасибо @petypen
  • Исправлены некоторые ошибки #85. Спасибо @potoyalo
  • Добавлена настройки выполнения на уровень модуля #84

· One min read
alkoleft

Release 23.04

Новое в версии

Тестовые данные

  • Новые ф-ии для удаления тестовых данных по ссылкам

Мокирование

  • Восстановлена потерянная возможность задавать различное поведение для цепочки одинаковых вызовов
  • Доступ к статистике вызовов методов при проверке
  • Сброс статистики вызовов методов при нескольких "прогонах" в одном тесте
  • Реализована возможность мокирования HTTP сервисов

Утверждения

  • Новое утверждение для сравнения коллекций (by @ViktorErmakov)

Документация

  • Создан статический сайт с документацией в удобном виде
  • Обновлена и дополнена документация

Прочее

  • Внесены доработки для более удобного использования в CI
  • Доработан движок для работы в режиме без использования синхронных методов
Внимание

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

- + \ No newline at end of file diff --git a/contributing/index.html b/contributing/index.html index 64fc14530..62386bcf9 100644 --- a/contributing/index.html +++ b/contributing/index.html @@ -5,13 +5,13 @@ Руководство разработчика | YAx Unit - +
-

Руководство разработчика

Здесь будут собраны материалы по доработке тестового движка.

- +

Руководство разработчика

Здесь будут собраны материалы по доработке тестового движка.

Тестирование

Для прогона тестов используется доработанная демо-конфигурация от фирмы .

Вам необходимо импортировать ее в рабочую область и привязать к ней проект yaxunit, запустить тесты.

+ \ No newline at end of file diff --git a/docs/first-test/index.html b/docs/first-test/index.html index 18902dc2e..2c858fd9a 100644 --- a/docs/first-test/index.html +++ b/docs/first-test/index.html @@ -5,13 +5,13 @@ Пишем первый тест | YAx Unit - +

Пишем первый тест

Для создания теста нужно в расширении (в отдельном или в том же) добавить модуль, содержащий экспортный метод регистрации - ИсполняемыеСценарии и реализовать тесты.

ОМ_ПервыйТест
#Область СлужебныйПрограммныйИнтерфейс

Процедура ИсполняемыеСценарии() Экспорт

ЮТТесты
.ДобавитьТест("Сложение")
.СПараметрами(2, 3, 5)
.СПараметрами(2, -3, -1)
;

КонецПроцедуры

Процедура Сложение(ПервыйОперанд, ВторойОперанд, Результат) Экспорт

ЮТест.ОжидаетЧто(ПервыйОперанд + ВторойОперанд)
.ИмеетТип("Число")
.Равно(Результат);

КонецПроцедуры

#КонецОбласти
- + \ No newline at end of file diff --git a/docs/install/index.html b/docs/install/index.html index fecfbac90..aea146748 100644 --- a/docs/install/index.html +++ b/docs/install/index.html @@ -5,7 +5,7 @@ Установка | YAx Unit - + @@ -16,7 +16,7 @@ Импорт проекта

  • Привязываем импортированный проект расширения к конфигурации Связь с базовым проектом

  • Обновляем конфигурацию

  • В конфигураторе снимаем с расширения безопасный режим и защиту от опасных действий

  • Готово, можно приступить к написанию тестов.

    совет

    Для удобства разработки тестов рекомендуется установить плагин

  • Обновление тестового движка

    1. Скачаем архив релиза
    2. Если вы дорабатывали движок, то скачиваем архив оригинальной установленной версии движка
    3. Разархивируем их во временный каталог
    4. Воспользуемся механизмом сравнения объединения EDT Сравнение объединение
      • Второй источник - каталог к новой версии тестового движка
      • Использование третьего источника нужно для трехстороннего сравнения и применяется при доработках движка.
    5. Нажимаем "Объединить"
    6. Готово.

    Установка в конфигуратор

    1. Скачаем расширение (cfe) релизаСтраница релиза
    2. Загружаем в конфигуратор
    3. Снимаем с расширения безопасный режим и защиту от опасных действий
    4. Готово
    - + \ No newline at end of file diff --git a/docs/install/install-plugin/index.html b/docs/install/install-plugin/index.html index dadb3ba64..77dbb4715 100644 --- a/docs/install/install-plugin/index.html +++ b/docs/install/install-plugin/index.html @@ -5,13 +5,13 @@ Установка плагина для работы с тестами в EDT | YAx Unit - +

    Установка плагина для работы с тестами в EDT

    Для того, что бы вам и нам было проще писать тесты мы разработали плагин для EDT.

    С его помощью вы сможете:

    • Запускать и отлаживать свои тесты;
    • Просматривать результаты выполнения.
    • И что-то еще

    Для установки плагина вам необходимо воспользоваться стандартным функционалом Eclipse (EDT) Установить новое ПО....

    • Открываем EDT.

    • Переходим к Установить новое ПО (в меню Справка);

    • Добавляем новый репозиторий;

      https://bia-technologies.github.io/edt-test-runner/repository

      Установка плагина

      совет

      Для ускорения установки можно убрать галочку Обращаться во время инсталляции ко всем сайтам ...

    • Нажимаем далее;

    • Принимаем лицензию;

    • Соглашаемся с предупреждением безопасности;

    • И перезагружаем IDE.

      примечание

      EDT будет долго перезагружаться и это нормально.

    - + \ No newline at end of file diff --git a/docs/run/configuration/index.html b/docs/run/configuration/index.html index 4bee6d380..f0345d856 100644 --- a/docs/run/configuration/index.html +++ b/docs/run/configuration/index.html @@ -5,13 +5,13 @@ Конфигурация запуска | YAx Unit - +

    Конфигурация запуска

    Конфигурация настраивается в файле json и может иметь следующие параметры.

    Основные параметры

    Имя параметраТипЗначение по умолчаниюОписание
    filterObjectObject, смотрите нижеПараметры фильтрации, поиска тестов
    reportFormatString"jUnit"Формат отчета о тестировании, возможные значения: "jUnit", "JSON"
    reportPathString""Путь к формируемому отчету, можно указать или каталог (в которому будет создан файл отчета) или путь к файлу
    closeAfterTestsBooleanTrueПризнак закрытия 1С:Предприятие по завершению тестирования
    showReportBooleanTrueОткрыть форму отчета завершению тестирования
    loggingObjectObject, смотрите нижеПараметры логирования, подробнее ниже
    exitCodeString""Путь к файлу, в который будет записан признак успешного выполнения (0 - успешно, 1 - есть ошибки)

    Параметры фильтрации

    Имя параметраТипЗначение по умолчаниюОписание
    extensionsArray["tests"]Список имен расширений, из которых грузятся тесты
    modulesArrayNullСписок имен модулей, из которых грузятся тесты
    testsArrayNullСписок полных путей к исполняемым тестам ([имя модуля.имя теста])
    suitesArrayNullНе реализованно. Список имен тестовых наборов, которые будут запускаться
    tagsArrayNullНе реализованно. Список тегов, которые будут запускаться
    contextsArrayNullСписок имен контекстов исполнения, в которых будут запускаться тесты
    pathsArrayNullНе реализованно. Список полных путей к исполняемым тестам

    Параметры логирования

    Имя параметраТипЗначение по умолчаниюОписание
    fileString""Путь к файлу лога
    enableBooleanNullПризнак использования логирования. Если не указан, зависит от параметра file, если он указан - вкл, если не указан - выкл
    levelString"debug"Уровень детализации лога. Возможные значения: "debug", "info", "error"

    Примеры:

    1. Запустить тесты расположенные в модулях МодульТестов1, МодульТестов2, закрыть предприятие по завершении и сохранить отчет в формате junit

      {
      "filter": {
      "modules": ["МодульТестов1", "МодульТестов2"]
      },
      "reportPath": "C:\\temp\\jUnit\\report.xml",
      "reportFormat": "jUnit",
      "closeAfterTests": true
      }
    2. Запустить все тесты из расширения YAXUNIT и сохранить отчет файл C:\temp\jUnit\report.xml, остальные параметры будут установлены по умолчанию

      {
      "filter": {
      "extensions": ["YAXUNIT"]
      },
      "reportPath": "C:\\temp\\jUnit\\report.xml"
      }
    3. Запустить все тесты с выводом подробного лога в файл, сохранить отчет файл C:\temp\jUnit\report.xml

      {
      "reportPath": "C:\\temp\\jUnit\\report.xml",
      "logging": {
      "file": "C:\\temp\\jUnit\\tests.log",
      "level": "debug"
      }
      }
    - + \ No newline at end of file diff --git a/docs/run/index.html b/docs/run/index.html index 5da7b5b3f..4cd3b476a 100644 --- a/docs/run/index.html +++ b/docs/run/index.html @@ -5,7 +5,7 @@ Запуск | YAx Unit - + @@ -13,7 +13,7 @@

    Запуск

    Для запуска тестов необходимо запустить 1С:Предприятие с параметром RunUnitTests, при необходимости можно указать путь к файлу конфигурации запуска.

    Важно

    После загрузки расширения в информационную базу необходимо отключить у него безопасный режим и защиту от опасных действий

    Запуск из EDT

    Для запуска тестов из EDT необходимо установить плагин, либо вручную создать файл конфигурации запуска и указать его в параметрах запуска.

    EDT

    Запуск из конфигуратора

    Для запуска тестов из конфигуратора вы можете

    Строка запуска предприятия

    [путь к клиенту 1С] ENTERPRISE [Параметры подключения к ИБ] [Параметры авторизации] /C RunUnitTests=/путь/к/конфигурационному/файлу

    Пример:

    "C:\Program Files\1cv8\8.3.18.1698\bin\1cv8c.exe" ENTERPRISE /IBName MyInfoBase /N Admin /C RunUnitTests=C:\tmp\test-config.json Запуск тестов в режиме тонкого клиента на информационной базе MyInfoBase под пользователем Admin по конфигурации указанной в файле C:\tmp\test-config.json

    - + \ No newline at end of file diff --git a/docs/tags/index.html b/docs/tags/index.html index b5cafc07d..d17140b5d 100644 --- a/docs/tags/index.html +++ b/docs/tags/index.html @@ -5,13 +5,13 @@ Tags | YAx Unit - + - + \ No newline at end of file diff --git "a/docs/tags/\320\264\320\260\320\275\320\275\321\213\320\265\320\270\320\261/index.html" "b/docs/tags/\320\264\320\260\320\275\320\275\321\213\320\265\320\270\320\261/index.html" index 2940c1034..d99a33ddf 100644 --- "a/docs/tags/\320\264\320\260\320\275\320\275\321\213\320\265\320\270\320\261/index.html" +++ "b/docs/tags/\320\264\320\260\320\275\320\275\321\213\320\265\320\270\320\261/index.html" @@ -5,13 +5,13 @@ 2 docs tagged with "ДанныеИБ" | YAx Unit - +

    2 docs tagged with "ДанныеИБ"

    View All Tags

    Запросы

    Для получения данных базы предоставлен API выполнения запросов ЮТЗапросы

    - + \ No newline at end of file diff --git "a/docs/tags/\320\267\320\260\320\277\321\200\320\276\321\201\321\213/index.html" "b/docs/tags/\320\267\320\260\320\277\321\200\320\276\321\201\321\213/index.html" index c8e61ad07..add474db5 100644 --- "a/docs/tags/\320\267\320\260\320\277\321\200\320\276\321\201\321\213/index.html" +++ "b/docs/tags/\320\267\320\260\320\277\321\200\320\276\321\201\321\213/index.html" @@ -5,13 +5,13 @@ One doc tagged with "Запросы" | YAx Unit - +

    One doc tagged with "Запросы"

    View All Tags

    Предикаты

    Предикаты это утверждения, которые вы можете передавать в качестве параметров.

    - + \ No newline at end of file diff --git "a/docs/tags/\320\272\320\276\320\275\321\202\320\265\320\272\321\201\321\202/index.html" "b/docs/tags/\320\272\320\276\320\275\321\202\320\265\320\272\321\201\321\202/index.html" index f265c097f..1bbae8c25 100644 --- "a/docs/tags/\320\272\320\276\320\275\321\202\320\265\320\272\321\201\321\202/index.html" +++ "b/docs/tags/\320\272\320\276\320\275\321\202\320\265\320\272\321\201\321\202/index.html" @@ -5,13 +5,13 @@ One doc tagged with "Контекст" | YAx Unit - +

    One doc tagged with "Контекст"

    View All Tags

    Контекст

    Одним из важнейших блоков работы тестового движка является механизм контекстов.

    - + \ No newline at end of file diff --git "a/docs/tags/\320\274\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/index.html" "b/docs/tags/\320\274\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/index.html" index 17ab5702f..ef9478654 100644 --- "a/docs/tags/\320\274\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/index.html" +++ "b/docs/tags/\320\274\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/index.html" @@ -5,13 +5,13 @@ 2 docs tagged with "Мокирование" | YAx Unit - +

    2 docs tagged with "Мокирование"

    View All Tags

    Мокито

    Мокито - модуль созданный по образу популярного java-фреймворка для тестирования Mockito. Расширяет возможности тестирования, позволяет легко менять логику работы системы подменяя результаты работы методов, отключая какие-либо алгоритмы и проверки.

    Предикаты

    Предикаты это утверждения, которые вы можете передавать в качестве параметров.

    - + \ No newline at end of file diff --git "a/docs/tags/\320\275\320\260\321\207\320\260\320\273\320\276/index.html" "b/docs/tags/\320\275\320\260\321\207\320\260\320\273\320\276/index.html" index f03c495c7..15d3e05d2 100644 --- "a/docs/tags/\320\275\320\260\321\207\320\260\320\273\320\276/index.html" +++ "b/docs/tags/\320\275\320\260\321\207\320\260\320\273\320\276/index.html" @@ -5,13 +5,13 @@ 13 docs tagged with "Начало" | YAx Unit - +

    13 docs tagged with "Начало"

    View All Tags

    Запросы

    Для получения данных базы предоставлен API выполнения запросов ЮТЗапросы

    Контекст

    Одним из важнейших блоков работы тестового движка является механизм контекстов.

    Мокито

    Мокито - модуль созданный по образу популярного java-фреймворка для тестирования Mockito. Расширяет возможности тестирования, позволяет легко менять логику работы системы подменяя результаты работы методов, отключая какие-либо алгоритмы и проверки.

    Пишем первый тест

    Для создания теста нужно в расширении (в отдельном или в том же) добавить модуль, содержащий экспортный метод регистрации - ИсполняемыеСценарии и реализовать тесты.

    Предикаты

    Предикаты это утверждения, которые вы можете передавать в качестве параметров.

    Тестовые данные

    Почти в каждом тесте разработчику необходимы данные, которые он будет использовать при тестировании: элементы справочников, документы, остатки и тд.

    Установка

    YAXUnit - это расширение для 1С:Предприятия, которое надо добавить к вашему проекту.

    Утверждения

    Каждый тестовый сценарий должен проверить результат работы тестируемого метода, будь то функция или процедура.

    - + \ No newline at end of file diff --git "a/docs/tags/\320\277\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213/index.html" "b/docs/tags/\320\277\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213/index.html" index 8026fab47..f2b7ac2d4 100644 --- "a/docs/tags/\320\277\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213/index.html" +++ "b/docs/tags/\320\277\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213/index.html" @@ -5,13 +5,13 @@ One doc tagged with "Предикаты" | YAx Unit - +

    One doc tagged with "Предикаты"

    View All Tags

    Предикаты

    Предикаты это утверждения, которые вы можете передавать в качестве параметров.

    - + \ No newline at end of file diff --git "a/docs/tags/\321\202\320\265\321\201\321\202\320\276\320\262\321\213\320\265-\320\264\320\260\320\275\320\275\321\213\320\265/index.html" "b/docs/tags/\321\202\320\265\321\201\321\202\320\276\320\262\321\213\320\265-\320\264\320\260\320\275\320\275\321\213\320\265/index.html" index 7d18bfc55..7816f6586 100644 --- "a/docs/tags/\321\202\320\265\321\201\321\202\320\276\320\262\321\213\320\265-\320\264\320\260\320\275\320\275\321\213\320\265/index.html" +++ "b/docs/tags/\321\202\320\265\321\201\321\202\320\276\320\262\321\213\320\265-\320\264\320\260\320\275\320\275\321\213\320\265/index.html" @@ -5,13 +5,13 @@ 2 docs tagged with "Тестовые данные" | YAx Unit - +

    2 docs tagged with "Тестовые данные"

    View All Tags

    Тестовые данные

    Почти в каждом тесте разработчику необходимы данные, которые он будет использовать при тестировании: элементы справочников, документы, остатки и тд.

    - + \ No newline at end of file diff --git "a/docs/tags/\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/index.html" "b/docs/tags/\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/index.html" index 9738d7cde..3010c56ba 100644 --- "a/docs/tags/\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/index.html" +++ "b/docs/tags/\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/index.html" @@ -5,13 +5,13 @@ 4 docs tagged with "Утверждения" | YAx Unit - +

    4 docs tagged with "Утверждения"

    View All Tags

    Предикаты

    Предикаты это утверждения, которые вы можете передавать в качестве параметров.

    Утверждения

    Каждый тестовый сценарий должен проверить результат работы тестируемого метода, будь то функция или процедура.

    - + \ No newline at end of file diff --git a/docs/user-api/assertions/assertions-base/index.html b/docs/user-api/assertions/assertions-base/index.html index 599e06908..ebb3f6b82 100644 --- a/docs/user-api/assertions/assertions-base/index.html +++ b/docs/user-api/assertions/assertions-base/index.html @@ -5,7 +5,7 @@ Базовые утверждения | YAx Unit - + @@ -15,7 +15,7 @@ Например:
    • Свойство("Контекст.ИмяМетода") - вложенное свойство
    • ИмеетСвойство("Контекст.ПараметрыМетода[0]") - элемент вложенной коллекции
    • НеИмеетСвойства("[0].Свойство") - свойство элемента коллекции
  • Все методы имеют параметр ОписаниеПроверки для описания конкретной проверки
  • Доступные методы

    • Сравнить значение используя
      • Равно - проверка на равенство конкретному значению. Для сериализуемых объектов идет сравнение по значению
      • НеРавно - проверка на не равенство конкретному значению. Для сериализуемых объектов идет сравнение по значению
      • Больше - проверяемое значение должно быть больше указанного
      • БольшеИлиРавно - проверяемое значение должно быть больше или равно указанному
      • Меньше - проверяемое значение должно быть меньше указанного
      • МеньшеИлиРавно - проверяемое значение должно быть меньше или равно указанному
      • ЭтоНеопределено - проверяемое значение должно быть равно Неопределено
      • ЭтоНеНеопределено - проверяемое значение должно быть не равно Неопределено
      • ЭтоNull - проверяемое значение должно быть равно Null
      • ЭтоНеNull - проверяемое значение должно быть не равно Null
      • ЭтоИстина - проверяемое значение должно быть истиной
      • ЭтоНеИстина - проверяемое значение не должно быть истиной
      • ЭтоЛожь - проверяемое значение должно быть ложью
      • ЭтоНеЛожь - проверяемое значение не должно быть ложью
    • Проверить заполненность
      • Заполнено - проверяет заполненность значения
      • НеЗаполнено - проверяет незаполненность значения
      • Существует - проверяет существование (не равно Null и Неопределено) значения
      • НеСуществует - проверяет не существование (не равно Null и Неопределено) значения
    • Проверить длину строки (размер коллекции)
      • ИмеетДлину - проверяет, что значение имеет указанную длину (размер)
      • ИмеетДлинуБольше - проверяет, что значение имеет длину (размер), которая больше указанной
      • ИмеетДлинуМеньше - проверяет, что значение имеет длину (размер), которая меньше указанной
      • НеИмеетДлину - проверяет, что длина (размер) значения не равна указанной
    • Проверить вхождения подстроки
      • Содержит - проверяемая строка содержит указанную подстроку
      • НеСодержит - проверяемая строка не содержит указанную подстроку
      • НачинаетсяС - проверяемая строка начинается с указанной строки
      • ЗаканчиваетсяНа - проверяемая строка заканчивается на указанную строку
    • Проверить вхождения значения в интервал
      • МеждуВключаяГраницы - проверяемое значение находиться в указанному интервале (включая границы)
      • МеждуИсключаяГраницы - проверяемое значение находиться в указанному интервале (исключая границы)
      • МеждуВключаяНачалоГраницы - проверяемое значение находиться в указанному интервале (включая левую границу и исключая правую)
      • МеждуВключаяОкончаниеГраницы - проверяемое значение находиться в указанному интервале (исключая левую границу и включая правую)
    • Проверить тип значения
      • ИмеетТип - проверяемое значение должно иметь указанный тип
      • НеИмеетТип - тип проверяемого значения должен отличаться от указанного
    • Проверить выполнение метода
      • ВыбрасываетИсключение - проверят, что указанный метод объекта выбрасывает исключение
      • НеВыбрасываетИсключение - проверят, что указанный метод объекта не выбрасывает исключение
    • Проверить наличие свойств/реквизитов
      • ИмеетСвойство - проверяемый объект должен содержать указанное свойство
      • НеИмеетСвойства - проверяемый объект не содержит указанное свойство
      • ИмеетСвойстваРавные - проверяемый объект должен содержать указанный набор свойств/реквизитов и значений
    • Проверить элементы коллекции
      • Содержит - проверяемая коллекция должна содержать указанный элемент
      • НеСодержит - проверяемая коллекция не должна содержать указанный элемент
      • КаждыйЭлементСодержитСвойство - проверяет, что каждый элемент коллекции имеет указанное свойство
      • КаждыйЭлементСодержитСвойствоСоЗначением - проверяет, что каждый элемент коллекции имеет указанное свойство, которое равно ожидаемому значению
      • ЛюбойЭлементСодержитСвойство - проверяет, что в коллекции есть элемент содержащий указанное свойство
      • ЛюбойЭлементСодержитСвойствоСоЗначением - проверяет, что в коллекции есть элемент содержащий указанное свойство, которое равно ожидаемому значению
    tip

    Полный и актуальный набор методов смотрите в описании API

    Проверка методов объекта

    Для проверки работы методов объекта есть набор утверждений среди описанных выше (ВыбрасываетИсключение и НеВыбрасываетИсключение), но для их работы необходимо выполнить предварительные настройки. Нужно указать какой методы объекта мы хотим проверить и с какими параметрами, для этого имеются следующие методы api

    • Метод - устанавливает имя и параметры проверяемого метода
    • Параметр - добавляет параметр метода. Создан для удобства установки параметров проверяемого метода

    Методы позиционирования

    В дополнении к указанным методам утверждений есть возможность применить их к вложенным свойствам. Например, проверить, наличие заполненной табличной части документа используя выражение ОжидаетЧто(Документ).Свойство("Товары").Заполнено(). Используя методы Свойство и Элемент можно позиционировать утверждения на вложенный реквизит/элемент.

    • Свойство - проверяет наличие свойства и позиционирует дальнейшие проверки на указанном свойстве
    • Элемент - проверяет наличие элемента коллекции и позиционирует дальнейшие проверки на указанном элементе
    • Объект - позиционирует дальнейшие проверки на объекте, указанном в методе Что
    • НетСвойства - проверяет отсутствие свойства и позиционирует дальнейшие проверки на объекте, указанном в методе Что

    Примеры

    1. Базовые проверки

      ЮТест.ОжидаетЧто(2 + 3, "2 + 3") // Используя модуль утверждений установим проверяемое значение и пояснение
      .ИмеетТип("Число") // Проверим тип
      .Заполнено() // Заполненность проверяемого значения
      .Больше(0) // Сравним с нулем
      .Равно(5); // Проверим ожидаемый результат
    2. Проверка сложного объекта

      Объект = ЮТОбщий.ЗначениеВМассиве("1", "2", "3");
      ЮТУтверждения.Что(Объект, "Проверка элементов массива")
      .Содержит("1")
      .НеСодержит(1)
      .Элемент(0).Равно("1")
      .Элемент(1).Равно("2")
      .Элемент(-1).Равно("3")
      .Свойство("[00]").Равно("1")
      .Свойство("[1]").Равно("2")
      .Свойство("[-1]").Равно("3")
      .НетСвойства(3)
      .НеИмеетСвойства("[3]");

      Объект.Добавить(Новый Структура("Первый, Второй", 1, ЮТОбщий.ЗначениеВМассиве(2)));
      ЮТУтверждения.Что(Объект, "Проверка свойства элемента массива")
      .Свойство("[3].Первый").Равно(1)
      .Свойство("[3].Второй[-1]").Равно(2)
      .Свойство("[3].Второй[0]").Равно(2)
    3. Проверка вызова метода

      ЮТУтверждения.Что(ОМ_ЮТУтверждения)
      .Метод("МетодБезИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение"))
      .НеВыбрасываетИсключение()
      .НеВыбрасываетИсключение("Ожидаемое исключение");
      ЮТУтверждения.Что(ОМ_ЮТУтверждения)
      .Метод("МетодИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение", 2))
      .ВыбрасываетИсключение("Слишком много фактических параметров");
      ЮТУтверждения.Что(ОМ_ЮТУтверждения)
      .Метод("МетодИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение"))
      .ВыбрасываетИсключение("Исключение");
      ЮТУтверждения.Что(ОМ_ЮТУтверждения)
      .Метод("МетодБезИсключение")
      .ВыбрасываетИсключение("Недостаточно фактических параметров");
    - + \ No newline at end of file diff --git a/docs/user-api/assertions/assertions-db/index.html b/docs/user-api/assertions/assertions-db/index.html index 04fc14c8a..30fb52573 100644 --- a/docs/user-api/assertions/assertions-db/index.html +++ b/docs/user-api/assertions/assertions-db/index.html @@ -5,13 +5,13 @@ Утверждения для проверки данных информационной базы | YAx Unit - +

    Утверждения для проверки данных информационной базы

    Большая часть тестируемых методов так или иначе оставляет свой след в базе, создает или изменяет записи в ИБ.

    Для проверки правильности работы метода нам необходимо проверить, что изменилось в базе. В этом могут помочь утверждения проверяющие записи ИБ.

    Доступ к утверждениям обеспечивает метод ЮТест.ОжидаетЧтоТаблицаБазы, который возвращает инициализированный модуль ЮТУтвержденияИБ, реализующий работу с утверждениями для ИБ.

    Утверждения позволяют проверить наличие и отсутствие записей по различным условиям, для задания условий используются предикаты

        ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары")
    .НеСодержитЗаписи(); // В базе нет товаров
    ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары")
    .СодержитЗаписи(); // В базе есть товары
    ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары")
    .СодержитЗаписи(ЮТест.Предикат() // В базе есть товары определенного поставщика
    .Реквизит("Поставщик").Равно(ДанныеСправочника.Поставщик));
    ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют")
    .НеСодержитЗаписи(ЮТест.Предикат() // Курс валюты не установлен
    .Реквизит("Валюта").Равно(ДанныеРегистра.Валюта)
    .Реквизит("Период").БольшеИлиРавно(ДанныеРегистра.Период));

    Доступные методы

    • СодержитЗаписи - проверяет наличие записей по условиям
    • НеСодержитЗаписи - проверяет отсутствие записей по условиям
    • СодержитЗаписиСНаименованием - проверяет наличие в таблице записей с указанным наименованием
    • СодержитЗаписиСКодом - проверяет наличие в таблице записей с указанным кодом
    • СодержитЗаписиСНомером - проверяет наличие в таблице записей с указанным номером
    • НеСодержитЗаписиСНаименованием - проверяет отсутствие в таблице записей с указанным наименованием
    • НеСодержитЗаписиСКодом - проверяет отсутствие в таблице записей с указанным кодом
    • НеСодержитЗаписиСНомером - проверяет отсутствие в таблице записей с указанным номером
    tip

    Предлагайте и добавляйте свои утверждения

    - + \ No newline at end of file diff --git a/docs/user-api/assertions/index.html b/docs/user-api/assertions/index.html index 1486d5d20..bd212fbb5 100644 --- a/docs/user-api/assertions/index.html +++ b/docs/user-api/assertions/index.html @@ -5,13 +5,13 @@ Утверждения | YAx Unit - +

    Утверждения

    Каждый тестовый сценарий должен проверить результат работы тестируемого метода, будь то функция или процедура.

    Для написания таких проверок реализован механизм утверждений, позволяющий в лаконичной форме описать свои ожидания, требования к результату.

    Как и большая часть API, утверждения реализованы по модели текучих выражений, с целью повышения удобства и читаемости тестов

      ЮТест.ОжидаетЧто(Контекст)
    .ИмеетТип("Структура")
    .Свойство("ПрефиксОшибки").Равно("Контекст метода с параметрами")
    .Свойство("ИмяМетода").Заполнено().Равно("МетодБезИсключение")
    .Свойство("ПараметрыМетода").ИмеетТип("Массив").ИмеетДлину(1);

    YaxUnit содержит утверждения для:

    - + \ No newline at end of file diff --git a/docs/user-api/context/index.html b/docs/user-api/context/index.html index 1b54fff3c..ea542e38a 100644 --- a/docs/user-api/context/index.html +++ b/docs/user-api/context/index.html @@ -5,13 +5,13 @@ Контекст | YAx Unit - +

    Контекст

    Одним из важнейших блоков работы тестового движка является механизм контекстов.

    Он позволяет:

    1. хранить промежуточные данные и обеспечивать работу механизма текучих выражений
    2. передавать между тестами необходимые данные
    3. удалять тестовые данные (пока только временные файлы)

    И имеет несколько ограничений:

    1. Не синхронизируется между клиентом и сервером
    2. Тестовые контексты имеют ограниченное время жизни, например, контекст теста "живет" только в рамках теста и событиях "ПередКаждымТестом", "ПослеКаждогоТеста".

    Для различных механизмов движка существуют различные контексты, такие как контекст утверждений, контекст теста и тд.

    Разработчику тестов будут интересны следующие контексты:

    • Контекст теста (ЮТест.КонтекстТеста) - живет в рамках одного теста, также доступен в обработчиках событий ПередКаждымТестом и ПослеКаждогоТеста
    • Контекст тестового набора (ЮТест.КонтекстТестовогоНабора) - живет в рамках набора тестов. Доступен в каждом тесте набора и в обработчиках событий
      • ПередТестовымНабором
      • ПослеТестовогоНабора
      • ПередКаждымТестом
      • ПослеКаждогоТеста
    • Контекст тестового модуля (ЮТест.КонтекстМодуля) - живет в рамках тестового модуля. Доступен в каждом тесте модуля и в обработчиках событий
      • ПередВсемиТестами
      • ПослеВсехТестов
      • ПередТестовымНабором
      • ПослеТестовогоНабора
      • ПередКаждымТестом
      • ПослеКаждогоТеста
    - + \ No newline at end of file diff --git a/docs/user-api/index.html b/docs/user-api/index.html index 4bb00aa2a..f8e02dd3c 100644 --- a/docs/user-api/index.html +++ b/docs/user-api/index.html @@ -5,13 +5,13 @@ Пользовательский API | YAx Unit - +

    Пользовательский API

    Для разработчиков тестов расширение предоставляет API:

    Доступ к API осуществляется через методы модуля ЮТест, например

    • ЮТест.Данные() для доступа к методам работы с тестовыми данными
    • ЮТест.ОжидаетЧто() для доступа к утверждения

    Планируется расширять существующий API и реализовать нужный недостающий функционал.

    tip

    Не рекомендуется обращаться к модулям API напрямую, используйте ЮТест

    - + \ No newline at end of file diff --git a/docs/user-api/mockito/index.html b/docs/user-api/mockito/index.html index be2ba8e88..9ccb5b881 100644 --- a/docs/user-api/mockito/index.html +++ b/docs/user-api/mockito/index.html @@ -5,7 +5,7 @@ Мокито | YAx Unit - + @@ -20,7 +20,7 @@ Для вызовов, у которых есть подходящая "реакция" будет переопределено выполнение и запустится соответствующая реакция (вернуть значение, вызвать исключение и тд), для прочих - выполнение продолжится.

    // Настройка
    Мокито.Обучение(РаботаСHTTP)
    .Когда("ОтправитьОбъектНаСервер", Мокито.МассивПараметров(Мокито.ЛюбойПараметр(), Мокито.ЛюбойПараметр()))
    .Вернуть(РезультатПоУмолчанию)
    .Когда("ОтправитьОбъектНаСервер", Мокито.МассивПараметров(Справочники.ИсточникиДанных.FTP, 2))
    .Вернуть(2)
    .Прогон(); // Перевод в режим прогона теста

    Результат = РаботаСHTTP.ОтправитьОбъектНаСервер(ИсточникДанных, Данные); // Результат будет равен переменной РезультатПоУмолчанию
    Результат = РаботаСHTTP.ОтправитьОбъектНаСервер(Справочники.ИсточникиДанных.FTP, 2); // Результат будет равен 2

    Проверка

    После прогона теста можно проверить какие методы, с какими параметрами вызывались. Для этих целей необходимо воспользоваться методом Проверить

    Мокито.Проверить(РаботаСHTTP) // Устанавливаем проверяемый объект
    .КоличествоВызовов(РаботаСHTTP.ОтправитьОбъектНаСервер(ЛюбойПараметр, Мокито.ЧисловойПараметр())) // Условия поиска вызовов
    .Больше(1) // Проверки
    .Равно(2)
    .КоличествоВызовов("ОтправитьОбъектНаСервер").Заполнено().Равно(3).Меньше(6)
    .КоличествоВызовов("ОтправитьЗапросHTTP").Пусто().Меньше(1)
    .КоличествоВызовов(РаботаСHTTP.ОтправитьОбъектНаСервер(1, 2)).Равно(1)
    .КоличествоВызовов(РаботаСHTTP.ОтправитьОбъектНаСервер(ЛюбойПараметр, ЛюбойПараметр)).Равно(3)
    .КоличествоВызовов(РаботаСHTTP.ОтправитьОбъектНаСервер(Мокито.ТипизированныйПараметр(ТипИсточникДанных), ЛюбойПараметр)).Равно(1)

    Принцип формирования проверки:

    • Указываем проверяемый объект Проверить(РаботаСHTTP).
    • Указываем условия поиска вызовов метода. Логика формирования условия такая же как при обучении. Например, КоличествоВызовов(РаботаСHTTP.ОтправитьОбъектНаСервер(ЛюбойПараметр, Мокито.ЧисловойПараметр())) Соберет все вызовы метода РаботаСHTTP.ОтправитьОбъектНаСервер, к которых вторым параметром идет число, а 3й и последующий параметры имеют значения по умолчанию.
    • Проверяем собранные вызовы:
      • Заполнено - есть вызовы метода по указанным условиям
      • Пусто - нет вызовов метода по указанным условиям
      • Равно - количество вызовов попавших под условия равно указанному значению
      • Больше - количество вызовов попавших под условия больше указанного значения
      • Меньше - количество вызовов попавших под условия меньше указанного значения

    Ограничения параметров

    При обучении (а также при проверке) не редко мы не может указать конкретные значения, которые придут в метод. для этих целей имеются.

    • Маски параметров
      • ЛюбойПараметр - ожидаем любой параметр
      • ЧисловойПараметр - ожидаем только числовой параметр
      • СтроковыйПараметр - ожидаем только строковый параметр
      • ТипизированныйПараметр - ожидаем параметр указанного типа
    • Предикаты позволяющие сформировать почти любые условия на параметры

    Примеры

    • Когда(Метод(1, 2))
    • Когда(Метод(Мокито.ЧисловойПараметр(), 2))
    • Когда(Метод(ЮТест.Предикат().Больше(0), 2))

    Кейсы использования*

    * В примерах опускается часть добавления метода в расширение

    1. Подмена результат функции для любого вызова

      Мокито.Обучение(РаботаСHTTP)
      .Когда("ОтправитьОбъектНаСервер")
      .Вернуть(1)
    2. Выключение алгоритма проведения документа

      Мокито.Обучение(СсылкаИлиОбъектДокумент)
      .Когда("ОбработкаПроведения")
      .Пропустить()
    3. Выбросить исключение, если в метод передан некорректный набор параметров

      Мокито.Обучение(РаботаСHTTP)
      .Когда("ОтправитьОбъектНаСервер")
      .ВыброситьИсключение("Не верные параметры вызова")
      .Когда(РаботаСHTTP.ОтправитьОбъектНаСервер(Справочники.ИсточникиДанных.FTP, Мокито.ЛюбойПараметр()))
      .ВыполнитьМетод();
    - + \ No newline at end of file diff --git a/docs/user-api/predicates/index.html b/docs/user-api/predicates/index.html index 375a0025d..6716629eb 100644 --- a/docs/user-api/predicates/index.html +++ b/docs/user-api/predicates/index.html @@ -5,7 +5,7 @@ Предикаты | YAx Unit - + @@ -13,7 +13,7 @@

    Предикаты

    Предикаты это утверждения, которые вы можете передавать в качестве параметров. Они расширяют и унифицируют функциональность тестового движка.

    Процедура АктуализацияУведомлений() Экспорт

    ИмяРегистра = "РегистрСведений.ОповещенияПользователя";
    Объект = ТестовыеДанные.Объект();

    УсловиеУведомления = ЮТест.Предикат()
    .Реквизит("Источник").Равно(Объект)
    .Реквизит("ТипОповещения").Равно(Справочники.ТипыОповещенийПользователя.Уведомление1)
    .Получить();

    ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра)
    .НеСодержитЗаписи(УсловиеУведомления);

    УведомленияВызовСервера.АктуализацияУведомлений();

    ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра)
    .СодержитЗаписи(УсловиеУведомления);

    ДанныеУведомления = ЮТЗапросы.Запись(ИмяРегистра, УсловиеУведомления);

    ЮТест.ОжидаетЧто(ДанныеУведомления)
    .Свойство("Прочитано").ЭтоЛожь()
    .Свойство("Пользователь").Равно(Справочники.ГруппыОповещенийПользователей.Инженер);

    КонецПроцедуры

    Механизм предикатов:

    • позволяет формировать наборы утверждений и передавать их в качества параметров;
    • используется для проверки коллекций, записей базы и так далее;
    • построен по модели текучих выражения и имеет схожий с базовыми утверждениями синтаксис (ЮТест.ОжидаетЧто());

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

    • Проверка коллекции

      ЮТест.ОжидаетЧто(Коллекция)
      .ЛюбойЭлементСоответствуетПредикату(ЮТест.Предикат()
      .Реквизит("Число").Равно(2)); // Проверят, что в коллекции есть элементы с реквизитом `Число`, которое равно `2`

      ЮТест.ОжидаетЧто(Коллекция)
      .КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат()
      .Заполнено().ИмеетТип("Массив")); // Проверят, что каждый элемент коллекции это заполненный массив
    • Описания параметров метода при мокировании

      Например, имеем метод, который принимает в параметрах структуру. Необходимо вернуть 2 разных результата в зависимости от значения реквизита входной структуры.

      Мокито.Обучение(Модуль)
      .Когда(Модуль.Посчитать(ЮТест.Предикат()
      .Реквизит("Оператор").Равно("Сложить")))
      .ВернутьРезультат(Результат1)

      .Когда(Модуль.Посчитать(ЮТест.Предикат()
      .Реквизит("Оператор").Равно("Вычесть")))
      .ВернутьРезультат(Результат2);
    • Утверждения, проверяющие данные в базе на основании предикатов.

      ЮТест.ОжидаетЧтоТаблица("Справочник.Товары").СодержитЗаписи(
      ЮТест.Предикат()
      .Реквизит("Наименование").Равно("Товар 1")
      .Реквизит("Ссылка").НеРавно(Исключение)
      );
    • Получение записей из базы

      ДанныеТовара = ЮТЗапросы.Запись("Справочник.Товары", ЮТест.Предикат()
      .Реквизит("Наименование").Равно("Товар 1")
      .Реквизит("Ссылка").НеРавно(Исключение));

    Особенности

    Особенности контекста

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

    Это приводит к тому, что вы не можете сразу использовать несколько предикатов, например

    Мокито.Обучение(Модуль)
    .Когда(Модуль.СделатьЧтоТо(
    ЮТест.Предикат().ИмеетТип("Строка"),
    ЮТест.Предикат().ИмеетТип("Число")))
    .ВернутьРезультат(Результат1);

    В этом примере 1С сначала вычислит выражения для всех параметров, а потом передаст их в метод и мы получим для обоих параметров один и тот же предикат, ожидающий тип Число. Потому что состояние первого предиката будет заменено вторым. Для обхода этой проблемы можно использовать метод Получить, который возвращает текущее состояние.

    Мокито.Обучение(Модуль)
    .Когда(Модуль.СделатьЧтоТо(
    ЮТест.Предикат().ИмеетТип("Строка").Получить(),
    ЮТест.Предикат().ИмеетТип("Число")))
    .ВернутьРезультат(Результат1);

    Такая же история при сохранение предикатов в переменные.

    ПроверкаСтрока = ЮТест.Предикат().ИмеетТип("Строка");
    ПроверкаЧисло = ЮТест.Предикат().ИмеетТип("Число");

    ПроверкаСтрока и ПроверкаЧисло будут равны и содержать одинаковые условия. Проблему также можно обойти используя метод Получить.

    ПроверкаСтрока = ЮТест.Предикат().ИмеетТип("Строка").Получить();
    ПроверкаЧисло = ЮТест.Предикат().ИмеетТип("Число").Получить();

    Особенности реализации

    Сам модуль предикатов используется только для формирования утверждений/условий.

    Реализацией проверок и формированием условий занимаются другие модули и возможна ситуация, когда некоторые предикаты еще не реализованы или не поддерживаются каким-либо механизмом. Например, проверка заполненности не поддерживается запросами.

    - + \ No newline at end of file diff --git a/docs/user-api/queries/index.html b/docs/user-api/queries/index.html index 790f4f369..d1778409e 100644 --- a/docs/user-api/queries/index.html +++ b/docs/user-api/queries/index.html @@ -5,13 +5,13 @@ Запросы | YAx Unit - +

    Запросы

    Для получения данных базы предоставлен API выполнения запросов ЮТЗапросы

    Позволяет как с сервера, так и с клиента получать данные информационной базы и имеет следующие методы

    • ЗначенияРеквизитов - Возвращает значения реквизитов ссылки
    • ЗначениеРеквизита - Возвращает значение реквизита ссылки
    • Запись - Возвращает первую запись таблицы соответствующую условиям
    • Записи - Возвращает записи таблицы соответствующую условиям
    • ТаблицаСодержитЗаписи - Вернет признак содержит ли таблица записи удовлетворяющие переданным условиям
    • РезультатЗапроса - Возвращает результат выполнения простого запроса, используя описание запроса.
    • РезультатПустой - Определяет, есть ли в результате записи, используя описание запроса
    • ОписаниеЗапроса - Формирует описание простого запроса
    - + \ No newline at end of file diff --git a/docs/user-api/test-data/index.html b/docs/user-api/test-data/index.html index 52167b9db..e2aa9b899 100644 --- a/docs/user-api/test-data/index.html +++ b/docs/user-api/test-data/index.html @@ -5,14 +5,14 @@ Тестовые данные | YAx Unit - +

    Тестовые данные

    Почти в каждом тесте разработчику необходимы данные, которые он будет использовать при тестировании: элементы справочников, документы, остатки и тд.

    Есть разные подходы к работе с тестовыми данными:

    1. Ручное наполнение тестовой базы (мы предварительно создаем все что необходимо для тестов в базе, а потом используем её для прогона тестов)
    2. Использование файлов с данными (макеты - сгенерированные в нужном формате файлы с описанием тестовых данных, загружаемые при выполнении тестов)
    3. Программное создание нужных данных внутри теста

    У каждого из вариантов есть свои плюсы и минусы, и при грамотной компоновке можно достичь наилучшего результата.

    Например:

    • Ручное наполнение базы не учитывает последующие доработки системы, нужна миграция на новые алгоритмы и структуру, и, если таких данных будет много, то миграция будет занимать большое время. А также в этом случае нам необходимо завязываться на конкретные записи в системе, и при их изменении тестом мы можем сломать другие тесты. Поэтому, предварительное наполнение базы должно быть минимальным.
    • В случае использования макетов данных возникают некоторые трудности с их доработкой и вариативностью, например, в новом тесте нужны данные из макета, но с некоторыми изменениями. В этом случае нам потребуется создавать новый макет или проверять, не сломают ли наши изменения другие тесты. Также при таком подходе сложно контролировать и искать какие макеты используются и кем.
    • Программное создание тестовых данных увеличивает время и сложность теста.

    Если грамотно распределить тестовые данные на способы создания, мы можем добиться оптимального результата. Например, можно статичные данные создать вручную, сложные кейсы данных засунуть в макеты, а для программного создания реализовать методы-конструкторы, которые будем переиспользовать. Таким образом, сможем уйти от минусов данного подхода или минимизировать их вред.

    В текущей версии тестовый движок предоставляет api для программного создания тестовых данных. За это отвечает общий модуль ЮТТестовыеДанные, к которому можно обратиться через метод ЮТест.Данные().

    tip

    Не рекомендуется обращаться к модулю ЮТТестовыеДанные напрямую, используйте ЮТест.Данные()

    Он позволяет:

    • Создавать данные информационной базы
    • Генерировать случайные значения
    • Автоматически удалять созданные данные (для этого необходимо включить настройку теста УдалениеТестовыхДанных())
    • Работать с файлами
    • Использовать таблицы markdown в качестве макетов данных

    Примеры

    1. Генерация фейкового документа

      #Если Сервер Тогда
      Конструктор = ЮТест.Данные().КонструкторОбъекта(Документы.ПриходТовара);
      #Иначе
      Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара");
      #КонецЕсли

      Конструктор
      .Фикция("Поставщик")
      .Фикция("Склад")
      .Фикция("Валюта")
      .Установить("Организация", ЮТест.Данные().КонструкторОбъекта("Справочники.Организации").Установить("КакойТоТамУчет", Истина))
      .ТабличнаяЧасть("Товары");

      Для Инд1 = 1 По ЮТест.Данные().СлучайноеЧисло(1, 5) Цикл
      Конструктор.ДобавитьСтроку()
      .Фикция("Товар")
      .Установить("Цена", ЮТест.Данные().СлучайноеПоложительноеЧисло(9999, 2))
      .Установить("Количество", ЮТест.Данные().СлучайноеПоложительноеЧисло(20))
      .Установить("Сумма", Конструктор.ДанныеСтроки().Цена * Конструктор.ДанныеСтроки().Количество)
      КонецЦикла;

      Ссылка = Конструктор.Провести();
    2. Генерация произвольных фейковых данных

      Функция ОписаниеСервера(Знач Идентификатор = Неопределено) Экспорт

      Описание = БазовоеОписаниеОбъекта(Идентификатор, "СРВ");

      Описание.Вставить("Адрес", ЮТТестовыеДанные.СлучайныйIPАдрес());
      Описание.Вставить("ЧастотаЯдра", ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(4, 3));
      Описание.Вставить("КоличествоЯдер", ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(10));
      Описание.Вставить("КоличествоПотоков", Описание.КоличествоЯдер * 2);
      Описание.Вставить("ПроизводительностьПроцессора", Описание.ЧастотаЯдра * Описание.КоличествоЯдер);
      Описание.Вставить("ОбъемПамяти", ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(1024, 3));
      Описание.Вставить("Диски", Новый Массив());
      Описание.Вставить("Кластер");

      Для Инд = 1 По ЮТТестовыеДанные.СлучайноеЧисло(1, 3) Цикл
      Описание.Диски.Добавить(ОписаниеДиска());
      КонецЦикла;

      Возврат Описание;

      КонецФункции

      Функция ОписаниеЗаявкиНаСозданиеВМ() Экспорт

      Описание = Новый Структура();

      Описание.Вставить("Наименование", "req-" + ЮТТестовыеДанные.СлучайнаяСтрока());
      Описание.Вставить("ДатаДобавления", глПолучитьМосковскоеВремя());
      Описание.Вставить("ДатаОкончанияАренды", глДобавитьКДате(глПолучитьМосковскоеВремя(), "ДЕНЬ", 2));
      Описание.Вставить("Адрес", ЮТТестовыеДанные.СлучайныйIPАдрес());

      Описание.Вставить("Проект", Проект());
      Описание.Вставить("Мейнтейнер", ПараметрыСеанса.Сотрудник);

      Описание.Вставить("КоличествоCPU", ЮТТестовыеДанные.СлучайноеЧисло(1, 4));
      Описание.Вставить("КоличествоПамяти", ЮТТестовыеДанные.СлучайноеЧисло(1, 16));
      Описание.Вставить("КоличествоДисков", ЮТТестовыеДанные.СлучайноеЧисло(1, 16));
      Описание.Вставить("ОперационнаяСистема", ЮТТестовыеДанные.СоздатьЭлемент(Справочники.ОперационныеСистемы));

      Описание.Вставить("СредаЭксплуатации", "");
      Описание.Вставить("Назначение", ЮТТестовыеДанные.СоздатьЭлемент(Справочники.НазначенияВиртуальныхМашин));
      Описание.Вставить("ТипСреды", Справочники.ТипыИнформационныхСред.BETA);
      Описание.Вставить("КодСервиса", ЮТТестовыеДанные.СлучайнаяСтрока(1));

      Возврат Описание;

      КонецФункции

      Функция НовыйОбразDocker(Версия, ПоУмолчанию = Истина) Экспорт

      Данные = Новый Структура("Адрес, ВерсияПлатформы, ТипПлатформы, ИспользоватьПоУмолчанию");
      Данные.Адрес = "gitlab.ru/orais/ci_cd/1cws-apache24:" + Версия;
      Данные.ВерсияПлатформы = Версия;
      Данные.ТипПлатформы = Перечисления.ТипыСоединенияИсточникаДанных.Соединение1СПредприятие83Сервер;
      Данные.ИспользоватьПоУмолчанию = ПоУмолчанию;

      Возврат ЮТТестовыеДанные.СоздатьЭлемент(Справочники.ОбразыDocker, Версия, Данные);

      КонецФункции
    3. Чтение из таблицы Markdown

        Макет = 
    "| Имя | ИмяКоллекции | Конструктор | Группы | Ссылочный | Реквизиты | Измерения | Ресурсы | РеквизитыАдресации | ТабличныеЧасти |
    ||------------------------|-------------------------|----------------------|--------|-----------|-----------|-----------|---------|--------------------|----------------|
    || Справочник | Справочники | СоздатьЭлемент | + | + | + | | | | + |
    || Документ | Документы | СоздатьДокумент | | + | + | | | | + |
    || ПланВидовХарактеристик | ПланыВидовХарактеристик | СоздатьЭлемент | + | + | + | | | | + |
    || ПланСчетов | ПланыСчетов | СоздатьСчет | | + | + | | | | + |
    || ПланВидовРасчета | ПланыВидовРасчета | СоздатьВидРасчета | | + | + | | | | + |
    || ПланОбмена | ПланыОбмена | СоздатьУзел | | + | + | | | | + |
    || РегистрСведений | РегистрыСведений | СоздатьНаборЗаписей | | | + | + | + | | |
    || РегистрНакопления | РегистрыНакопления | СоздатьНаборЗаписей | | | + | + | + | | |
    || РегистрБухгалтерии | РегистрыБухгалтерии | СоздатьНаборЗаписей | | | + | + | + | | |
    || РегистрРасчета | РегистрыРасчета | СоздатьНаборЗаписей | | | + | + | + | | |
    || БизнесПроцесс | БизнесПроцессы | СоздатьБизнесПроцесс | | + | + | | | | + |
    || Задача | Задачи | СоздатьЗадачу | | + | + | | | + | + |
    |";
    КоллекцияОписаний = ЮТТестовыеДанные.ТаблицаMarkDown(Макет);

    ТипыМетаданных = Новый Структура();

    Для Каждого Запись Из КоллекцияОписаний Цикл

    Описание = Новый Структура();
    Описание.Вставить("Имя", Запись.Имя);
    Описание.Вставить("ИмяКоллекции", Запись.ИмяКоллекции);
    Описание.Вставить("Конструктор", Запись.Конструктор);
    Описание.Вставить("Группы", Запись.Группы = "+");
    Описание.Вставить("Ссылочный", Запись.Ссылочный = "+");
    Описание.Вставить("Реквизиты", Запись.Реквизиты = "+");
    Описание.Вставить("Измерения", Запись.Измерения = "+");
    Описание.Вставить("Ресурсы", Запись.Ресурсы = "+");
    Описание.Вставить("РеквизитыАдресации", Запись.РеквизитыАдресации = "+");
    Описание.Вставить("ТабличныеЧасти", Запись.ТабличныеЧасти = "+");

    ТипыМетаданных.Вставить(Описание.Имя, Описание);
    ТипыМетаданных.Вставить(Описание.ИмяКоллекции, Описание);

    КонецЦикла;

    Возврат ТипыМетаданных;
    - + \ No newline at end of file diff --git a/docs/user-api/test-data/test-data-deletion/index.html b/docs/user-api/test-data/test-data-deletion/index.html index 0d1800ab1..1be3bc725 100644 --- a/docs/user-api/test-data/test-data-deletion/index.html +++ b/docs/user-api/test-data/test-data-deletion/index.html @@ -5,7 +5,7 @@ Удаление тестовых данных | YAx Unit - + @@ -13,7 +13,7 @@

    Удаление тестовых данных

    При использовании тестовых данных нередко необходимо удалять созданные объекты.

    Для этого вы можете использовать

    Автоматические транзакции

    Для включения нужно при регистрации теста вызвать метод ВТранзакции()

    ВТранзакции.bsl
    ЮТТесты
    .ДобавитьТест("Фикция").ВТранзакции() // Использование транзакции для конкретного теста

    ЮТТесты
    .ДобавитьТестовыйНабор("Основной).ВТранзакции() // Использование транзакции для набора тестов
    .ДобавитьТест("Фикция")

    ЮТТесты.ВТранзакции() // Использование транзакции для тестов модуля
    .ДобавитьТест("Фикция")

    И тогда тестовый движок будет оборачивать в транзакцию каждый серверный тест (для клиентских будет игнорироваться)

    Учитывайте

    В транзакцию оборачивается тест, а не модуль или набор, поэтому данные созданные вне теста не будут удалены. Такие данные необходимо удалять самостоятельно при необходимости.

    Механизм удаления тестовых данных

    Для включения нужно при регистрации теста вызвать метод УдалениеТестовыхДанных()

    УдалениеТестовыхДанных.bsl
    ЮТТесты
    .ДобавитьТест("Фикция").УдалениеТестовыхДанных() // Использование для конкретного теста

    ЮТТесты
    .ДобавитьТестовыйНабор("Основной).УдалениеТестовыхДанных() // Использование для всех тестов набора
    .ДобавитьТест("Фикция")

    ЮТТесты.УдалениеТестовыхДанных() // Использование для всех тестов модуля
    .ДобавитьТест("Фикция")

    ЮТТесты.ВТранзакции().УдалениеТестовыхДанных() // Совместно с транзакцией
    .ДобавитьТест("Фикция")

    Механизм не использует транзакции, а запоминает в контексте все созданные с помощью API объекты и записи регистров сведений. Позволяет:

    • Удалять данные созданные с клиента
    • Удалять данные созданные вне теста (в обработчиках событий)
    Удаление и только

    Механизм только удаляет созданные объекты, изменения не откатываются

    Разное время жизни данных

    Механизм понимает в рамках какого контекста исполнения (тест, набор, модуль) были созданы данные и удаляет их по выходу из него.

    Рассмотрим время жизни объектов созданных на разных этапах тестирования, например имеем такой модуль.

    УдалениеТестовыхДанныхВремяЖизни.bsl
    Процедура ПередВсемиТестами() Экспорт
    ДанныеМодуля = ЮТест.Данные().СоздатьЭлемент();
    КонецПроцедуры

    Процедура ПередТестовымНабором() Экспорт
    ДанныеНабора = ЮТест.Данные().СоздатьЭлемент();
    КонецПроцедуры

    Процедура ПослеВсехТестов() Экспорт
    ДанныеТеста = ЮТест.Данные().СоздатьЭлемент();
    КонецПроцедуры

    Процедура Тест() Экспорт
    Ссылка = ЮТест.Данные().СоздатьЭлемент();
    КонецПроцедуры

    Для переменных получим разное время жизни

    • ДанныеМодуля - Живет, пока исполняются тесты модуля одного контекста (Сервер, Клиент).
    • ДанныеНабора - Живет, пока исполняются тесты набора.
    • ДанныеТеста и Ссылка - Живут, пока исполняется тест.
    Механизм имеет ряд ограничений и не работает для следующих кейсов:
    • Данные создан не через API
    • Данные созданы в клиентском модуле через вызов своего серверного модуля, даже если он использует API тестового движка
    - + \ No newline at end of file diff --git a/docs/user-api/test-registration/index.html b/docs/user-api/test-registration/index.html index 4ed51b670..c09a87fa0 100644 --- a/docs/user-api/test-registration/index.html +++ b/docs/user-api/test-registration/index.html @@ -5,14 +5,14 @@ Регистрация тестовых методов (ЮТТесты) | YAx Unit - +

    Регистрация тестовых методов (ЮТТесты)

    Кроме того, чтобы написать тестовые сценарии, разработчик должен зарегистрировать их в движке. Регистрация выполняется внутри предопределенного экспортного метод ИсполняемыеСценарии, который обязательно должен находиться в тестовом модуле.


    Процедура ИсполняемыеСценарии() Экспорт

    // Регистрация тестов
    ЮТТесты // Регистрация тестов выполняет через модуль регистратор
    .ДобавитьТестовыйНабор("Математические методы") // Набор - объединение тестов
    .ДобавитьТест("Сложение") // Обязательно при регистрации указываем имя экспортного метода
    .ДобавитьТест("Вычитание", "Вычитание") // Также можно указать представление теста
    .ДобавитьТест("Вычитание", "ВычитаниеСервер", , "Сервер") // Контекст исполнения, по умолчанию тест выполняется во всех контекстах модуля
    .ДобавитьКлиентскийТест("УмножениеНаКлиенте") // Есть отдельный метод для регистрации клиентских тестов
    .ДобавитьСерверныйТест("ДелениеНаСервере", "Деление на сервер") // Есть отдельный метод для регистрации серверных тестов
    .ДобавитьТестовыйНабор("Строковые методы")
    .ДобавитьТест("СтрНайти")
    .ДобавитьТест("СтрРазделить");

    КонецПроцедуры

    Этот метод автоматически вызывается тестовым движком при старте тестирования.

    Как видно из примера выше, регистрация выполняется с помощью методов модуля ЮТТесты.

    Он позволяет:

    • Объединять тесты в наборы, указывать теги, по которым возможно формировать отборы запускаемых тестов
    • Указывать контекст вызова, например, для клиент-серверного модуля (или метода) можно реализовать тесты в одном тестовом модуле, проверяющие логику и на клиенте, и на сервере.
    • Указывать параметры выполнения тестов.
    • Организовывать черновики, регистрируя нереализованные тесты.
    - + \ No newline at end of file diff --git a/docs/yaxunit-ui/index.html b/docs/yaxunit-ui/index.html index 2db1c6f23..8de5bc166 100644 --- a/docs/yaxunit-ui/index.html +++ b/docs/yaxunit-ui/index.html @@ -5,7 +5,7 @@ Графический интерфейс | YAx Unit - + @@ -14,7 +14,7 @@ Например, создав файла настроек

    {
    "reportPath": "/tmp/settings/",
    "filter": {
    "extensions": [
    "tests"
    ]
    },
    "settings": {
    "ВТранзакции": false
    },
    "reportFormat": "jUnit",
    "showReport": true
    }

    Мы получим примерно такой результат

    Отчет

    Интерфейс настройки конфигурации

    Для облегчения создания конфигурации реализована форма конфигурирования. Чтобы найти форму, перейдите в подсистему Юнит тесты или воспользуйтесь меню Все функции / Функции для технического специалиста. Там найдете обработку Юнит тесты, из которой, воспользовавшись командой Сформировать настройки попадете в интерфейс конфигурирования

    Конфигурирование

    Позволяет указать запускаемые тесты и получить строку запуска из терминала и параметры для конфигуратора

    Настройка конфигуратора

    - + \ No newline at end of file diff --git a/index.html b/index.html index 2be9927c9..159b25e06 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ YAXUnit. Расширение для запуска тестов | YAx Unit - + @@ -16,7 +16,7 @@ Quality Gate Maintainability

    Обсудить в Telegram чате


    Назначение

    Самостоятельное расширение для написания и выполнения модульного тестирования.

    Возможности

    • YAXUnit - это расширение с открытым исходным кодом, которое используется для написания и выполнения тестов
    • Разрабатывалось с оглядкой на JUnit5, пожалуй, лучший фреймворк тестирования
    • Предоставляет движок выполнения тестов
    • Предоставляет утверждения для проверки ожидаемых результатов
    • Тесты могут быть организованы в наборы и выполняться в разных контекстах
    • Позволяет быстрее и проще не только писать, но и читать тесты
    • Результаты тестирования могут быть сохранены в отчет, на текущий момент jUnit и json.
    • Большая часть пользовательского API реализована как текучие выражения
    • Предусмотрена возможность расширения функциональности, можно регистрировать свои форматы отчетов, добавлять модули с утверждениями
    • Реализован плагин для EDT, который упрощает процесс запуска тестов

    Подробнее ознакомиться с функциональностью вы можете изучив документацию.

    А для того, что бы начать писать тесты необходимо установить расширение в свою IDE (конфигуратор или EDT).

    Пример тестового модуля

    Для создания теста нужно в расширении (в отдельном или в том же) добавить модуль, содержащий экспортный метод регистрации - ИсполняемыеСценарии и реализовать тесты.

    Пример модуля тестов:

    #Область СлужебныйПрограммныйИнтерфейс

    Процедура ИсполняемыеСценарии() Экспорт

    // Регистрация тестов
    ЮТТесты // Регистрация тестов выполняет через модуль регистратор
    .ДобавитьТестовыйНабор("Математические методы") // Набор - объединение тестов
    .ДобавитьТест("Сложение") // Обязательно при регистрации указываем имя экспортного метода
    .ДобавитьТест("Вычитание", "Вычитание") // Также можно указать представление теста
    .ДобавитьТест("Вычитание", "ВычитаниеСервер", , "Сервер") // Контекст исполнения, по умолчанию тест выполняется во всех контекстах модуля
    .ДобавитьКлиентскийТест("УмножениеНаКлиенте") // Есть отдельный метод для регистрации клиентских тестов
    .ДобавитьСерверныйТест("ДелениеНаСервере", "Деление на сервер") // Есть отдельный метод для регистрации серверных тестов
    .ДобавитьТестовыйНабор("Строковые методы")
    .ДобавитьТест("СтрНайти")
    .ДобавитьТест("СтрРазделить");

    КонецПроцедуры

    #КонецОбласти

    #Область Тесты

    Процедура Сложение() Экспорт

    // Реализация теста на сложение
    ЮТест.ОжидаетЧто(2 + 3, "2 + 3") // Используя модуль утверждений установим проверяемое значение и пояснение
    .ИмеетТип("Число") // Проверим тип
    .Заполнено() // Заполненность проверяемого значения
    .Больше(0) // Сравним с нулем
    .Равно(5); // Проверим ожидаемый результат

    ЮТест.ОжидаетЧто(-8 + 8, "-8 + 8") // Проверим второй вариант
    .Равно(0);

    КонецПроцедуры

    Процедура Вычитание() Экспорт

    // Реализация теста на вычитание
    ЮТест.ОжидаетЧто(2 - 3, "2 - 3").ИмеетТип("Число").Заполнено().Меньше(0);

    КонецПроцедуры

    #КонецОбласти

    #Область События

    // Также в тесте можно обрабатывать события выполнения
    // Например можно реализовать подготовку и удаление тестовых данных
    // Зачистку временных файлов, настройку системы

    Процедура ПередВсемиТестами() Экспорт
    // Выполняется перед запуском всех тестов контекста, те если есть тесты и на клиенте и на сервер, то метод будет выполнен 2 раза
    Сообщить("Запуск тестирования");

    КонецПроцедуры

    Процедура ПередТестовымНабором() Экспорт

    // Выполняется перед каждым тестовым набором для каждого контекста выполнения
    Контекст = ЮТест.КонтекстТестовогоНабора(); // Контекст набора служит для хранения любых данных, нужных при тестировании
    // Контекст живет в рамках контекста выполнения,
    // таки образом, через контекст нельзя передавать данные между серверными и клиентскими тестами
    Контекст.Вставить("ВремяНачала", ТекущаяУниверсальнаяДатаВМиллисекундах());

    КонецПроцедуры

    Процедура ПередКаждымТестом() Экспорт

    // Выполняется перед каждым тестом
    Контекст = ЮТест.КонтекстТеста(); // Контекст теста служит для хранения любых данных, нужных при тестировании
    // Контекст создает перед тестом и уничтожается после его выполнения
    // В контекст например, можно помещать созданные в процессе данные, что бы потом их удалить
    Контекст.Вставить("ВремяНачала", ТекущаяУниверсальнаяДатаВМиллисекундах());

    КонецПроцедуры

    Процедура ПослеКаждогоТеста() Экспорт

    // Выполняется после каждого теста
    Контекст = ЮТест.КонтекстТеста();
    Сообщить("Время выполнения теста: " + (ТекущаяУниверсальнаяДатаВМиллисекундах() - Контекст.ВремяНачала));

    КонецПроцедуры

    Процедура ПослеТестовогоНабора() Экспорт

    // Выполняется после каждого тестового набора для каждого контекста выполнения
    // Применяется для очистки данных и т.д.
    Контекст = ЮТест.КонтекстТестовогоНабора();
    Сообщить("Время выполнения набора: " + (ТекущаяУниверсальнаяДатаВМиллисекундах() - Контекст.ВремяНачала));

    КонецПроцедуры

    Процедура ПослеВсехТестов() Экспорт

    // Выполняется после выполнения всех тестов контекста, те если есть тесты и на клиенте и на сервер, то метод будет выполнен 2 раза
    // В этом событии все контексты уже уничтожены
    Сообщить("Тестирование завершено");

    КонецПроцедуры

    #КонецОбласти

    После запуска тестов модуля в EDT (используя плагин) получаем такой отчет:

    Отчет

    Запуск

    Запуск из EDT

    При разработке в EDT процесс запуска тестов можно упростить, установив плагин и настроив конфигурацию запуска, как указано в описании плагина.

    Запуск вне EDT

    Для запуска тестов без использования EDT необходимо:

    1. Сформировать файл конфигурации запуска вручную, либо воспользоваться формой настройки
    2. Запустить 1С:Предприятие с параметром RunUnitTests=ПутьКФайлуКонфигурации.json.

    Благодарности

    Приносим благодарность всему open-source сообществу 1с за идеи и мотивацию.

    Особая благодарность авторам и контрибьютерам проектов


    Лицензия

    Copyright © 2022 BIA-Technologies Limited Liability Company

    Distributed under the Apache License, Version 2.0

    - + \ No newline at end of file diff --git a/lessons/index.html b/lessons/index.html index 4d2ae6336..eff787708 100644 --- a/lessons/index.html +++ b/lessons/index.html @@ -5,13 +5,13 @@ Уроки и примеры использования YAxUnit | YAx Unit - +

    Уроки и примеры использования YAxUnit

    Здесь будут собраны различные материалы для лучшего понимая принципов написания тестов в работы с YAxUnit

    - + \ No newline at end of file