GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - oscript-library/asserts: Библиотека утверждений (assertions) для 1Script

BranchesTags
Open more actions menu

Latest commit

 

History

79 Commits
79 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.vscode
.vscode
 
 
src
src
 
 
tasks
tasks
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
Jenkinsfile
Jenkinsfile
 
 
README.md
README.md
 
 
packagedef
packagedef
 
 

Repository files navigation

Утверждения

Used by

Добавляет в скрипт функционал "Утверждений" (assertions). Возможны 2 стиля использования:

  • Модуль "Утверждения" - утверждения в стиле фреймворка xUnitFor1C
  • Свойство глобального контекста "Ожидаем" - fluent-API утверждений в стиле BDD

Краткий пример

МояПеременная = ВычислитьЧтоТоТам(); 

// xUnit style        
Утверждения.ПроверитьРавенство(1, МояПеременная, "Моя переменная должна быть строго равна 1");

// BDD style
Ожидаем.Что(МояПеременная).Равно(1);

Модуль "Ожидаем"

BDD стиль предоставляет fluent API для создания более читаемых утверждений.

Базовый синтаксис

Ожидаем.Что(ПроверяемоеЗначение).МетодПроверки(ПараметрыПроверки);

Отрицание

Не_() / ЭтоНе()

Инвертирует результат следующей проверки.

Ожидаем.Что(Значение).Не_().Равно(0);
Ожидаем.Что(Строка).ЭтоНе().Заполнено();

Логические проверки

ЭтоИстина() / ЕстьИстина()

Проверяет, что значение равно Истина.

Ожидаем.Что(УсловиеВыполнено).ЭтоИстина();

ЭтоЛожь() / ЕстьЛожь()

Проверяет, что значение равно Ложь.

Ожидаем.Что(ОшибкаВозникла).ЭтоЛожь();

Равно(ОжидаемоеЗначение)

Проверяет равенство значений.

Ожидаем.Что(Результат).Равно(42);
Ожидаем.Что(Статус).Равно("Готов");

Числовые сравнения в BDD

Больше(МеньшееЗначение)

Проверяет, что значение больше указанного.

Ожидаем.Что(Количество).Больше(0);

БольшеИлиРавно(МеньшееИлиРавноеЗначение) / Минимум(МинимальноеЗначение)

Проверяет, что значение больше или равно указанному.

Ожидаем.Что(Возраст).БольшеИлиРавно(18);
Ожидаем.Что(Зарплата).Минимум(10000);

Меньше(БольшееЗначение)

Проверяет, что значение меньше указанного.

Ожидаем.Что(ВремяОтклика).Меньше(1000);

МеньшеИлиРавно(БольшееИлиРавноеЗначение) / Максимум(МаксимальноеЗначение)

Проверяет, что значение меньше или равно указанному.

Ожидаем.Что(Оценка).МеньшеИлиРавно(10);
Ожидаем.Что(Размер).Максимум(1024);

Между(НачальноеЗначение, КонечноеЗначение)

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

Ожидаем.Что(Процент).Между(0, 100);

Проверки существования и заполненности

Заполнено()

Проверяет, что значение заполнено.

Ожидаем.Что(НомерЗаказа).Заполнено();

Существует()

Проверяет, что значение не равно Неопределено и не равно Null.

Ожидаем.Что(НайденныйЭлемент).Существует();

ЭтоНеопределено() / ЕстьНеопределено()

Проверяет, что значение равно Неопределено.

Ожидаем.Что(НеинициализированнаяПеременная).ЭтоНеопределено();

ЭтоNull() / ЕстьNull()

Проверяет, что значение равно Null.

Ожидаем.Что(ПустаяСсылка).ЭтоNull();

Проверки типов в BDD

ИмеетТип(ТипИлиИмяТипа)

Проверяет соответствие типа значения ожидаемому.

Ожидаем.Что(МойОбъект).ИмеетТип("Структура");
Ожидаем.Что(СписокЗначений).ИмеетТип(Тип("Массив"));

Работа с коллекциями

Содержит(ИскомоеЗначение)

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

// Для строк
Ожидаем.Что(ТекстОшибки).Содержит("не найден");

// Для массивов
Ожидаем.Что(СписокФайлов).Содержит("config.json");

// Для структур/соответствий - проверяет значения
Ожидаем.Что(Настройки).Содержит("Администратор");

ИмеетДлину(ОжидаемаяДлина)

Проверяет длину строки или количество элементов в коллекции.

Ожидаем.Что(Пароль).ИмеетДлину(8);
Ожидаем.Что(МассивДанных).ИмеетДлину(5);

Проверки методов и исключений

ИмеетМетод(ИмяМетода)

Проверяет наличие метода у объекта.

Ожидаем.Что(МойОбъект).ИмеетМетод("ВыполнитьОбработку");

Метод(ИмяМетода, ПараметрыМетода).ВыбрасываетИсключение(ФрагментИсключения)

Проверяет, что вызов метода вызывает исключение.

Ожидаем.Что(КалькуляторОбъект).Метод("Разделить", Новый Массив).ВыбрасываетИсключение("деление на ноль");

Работа с таблицами значений

РавнаТаблице(ОжидаемоеЗначение, СравнитьТолькоСТруктуру = Ложь)

Сравнивает таблицы значений.

Ожидаем.Что(ПолученнаяТаблица).РавнаТаблице(ОжидаемаяТаблица);

ИмеетРавнуюСтруктуруСТаблицей(ОжидаемоеЗначение)

Сравнивает только структуру таблиц (колонки и их типы).

Ожидаем.Что(НоваяТаблица).ИмеетРавнуюСтруктуруСТаблицей(ШаблонТаблицы);

СодержитСтрокуТаблицы(ОжидаемоеЗначение)

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

СтрокаПоиска = Новый Структура("Код, Наименование", "001", "Товар1");
Ожидаем.Что(ТаблицаТоваров).СодержитСтрокуТаблицы(СтрокаПоиска);

Модификаторы сравнения

БезУчетаПорядкаСтрок()

Игнорирует порядок строк при сравнении таблиц.

Ожидаем.Что(Таблица1).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2);

БезУчетаПорядкаКолонок()

Игнорирует порядок колонок при сравнении таблиц.

Ожидаем.Что(Таблица1).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица2);

БезУчетаИменКолонок()

Игнорирует имена колонок при сравнении таблиц.

Ожидаем.Что(Таблица1).БезУчетаИменКолонок().РавнаТаблице(Таблица2);

НеУчитыватьПорядокВМассиве()

Игнорирует порядок элементов при сравнении массивов.

Ожидаем.Что(Массив1).НеУчитыватьПорядокВМассиве().РавноМассиву(Массив2);

Продвинутые сравнения

Идентично(ОжидаемоеЗначение)

Выполняет глубокое сравнение объектов (структур, массивов, таблиц).

Ожидаем.Что(СложнаяСтруктура).Идентично(ОжидаемаяСтруктура);

РавноМассиву(ОжидаемоеЗначение)

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

Ожидаем.Что(ПолученныйМассив).РавноМассиву(ОжидаемыйМассив);

РавноСтруктуреИлиСоответствию(ОжидаемоеЗначение)

Сравнивает структуры или соответствия с детальной диагностикой.

Ожидаем.Что(НастройкиСистемы).РавноСтруктуреИлиСоответствию(ОжидаемыеНастройки);

Цепочки утверждений

BDD стиль поддерживает цепочки утверждений для комплексных проверок:

Ожидаем.Что(Пользователь)
    .ИмеетТип("Структура")
    .Содержит("Администратор")
    .ИмеетДлину(3);

Ожидаем.Что(Таблица)
    .БезУчетаПорядкаСтрок()
    .БезУчетаПорядкаКолонок()
    .РавнаТаблице(ЭталонТаблица);

Модуль "Утверждения"

Основные проверки

Проверить(Условие, ДопСообщениеОшибки = "")

Проверяет, что условие истинно.

Утверждения.Проверить(Истина, "Условие должно быть истинным");

ПроверитьИстину(Условие, ДопСообщениеОшибки = "")

Синоним для Проверить(). Проверяет, что значение равно Истина.

Утверждения.ПроверитьИстину(ПолучитьБулевоЗначение());

ПроверитьЛожь(Условие, ДопСообщениеОшибки = "")

Проверяет, что значение равно Ложь.

Утверждения.ПроверитьЛожь(ПользовательНеАвторизован);

Сравнения значений

ПроверитьРавенство(ПервоеЗначение, ВтороеЗначение, ДопСообщениеОшибки = "")

Проверяет равенство двух значений.

Утверждения.ПроверитьРавенство(42, ПолучитьЧисло());
Утверждения.ПроверитьРавенство("Привет", ПолучитьСтроку());

ПроверитьНеРавенство(ПервоеЗначение, ВтороеЗначение, ДопСообщениеОшибки = "")

Проверяет неравенство двух значений.

Утверждения.ПроверитьНеРавенство("", ИмяПользователя);

Числовые сравнения

ПроверитьБольше(Больше, Меньше, ДопСообщениеОшибки = "")

Проверяет, что первое значение больше второго.

Утверждения.ПроверитьБольше(100, ПолученнаяСумма);

ПроверитьБольшеИлиРавно(Больше, Меньше, ДопСообщениеОшибки = "")

Проверяет, что первое значение больше или равно второму.

Утверждения.ПроверитьБольшеИлиРавно(0, КоличествоЭлементов);

ПроверитьМеньше(ПроверяемоеЗначение1, ПроверяемоеЗначение2, СообщениеОбОшибке = "")

Проверяет, что первое значение меньше второго.

Утверждения.ПроверитьМеньше(ВремяВыполнения, МаксимальноеВремя);

ПроверитьМеньшеИлиРавно(ПроверяемоеЗначение1, ПроверяемоеЗначение2, СообщениеОбОшибке = "")

Проверяет, что первое значение меньше или равно второму.

Утверждения.ПроверитьМеньшеИлиРавно(РазмерФайла, МаксимальныйРазмер);

Проверки заполненности

ПроверитьЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "")

Проверяет, что значение заполнено (с помощью ЗначениеЗаполнено()).

Утверждения.ПроверитьЗаполненность(НомерДокумента);
Утверждения.ПроверитьЗаполненность(ДатаСоздания);

ПроверитьНеЗаполненность(ПроверяемоеЗначение, ДопСообщениеОшибки = "")

Проверяет, что значение не заполнено.

Утверждения.ПроверитьНеЗаполненность(ДатаУдаления);

Проверки типов

ПроверитьТип(Значение, ТипИлиИмяТипа, ДопСообщениеОшибки = "")

Проверяет соответствие типа значения ожидаемому типу.

Утверждения.ПроверитьТип(ПолученныйОбъект, "Структура");
Утверждения.ПроверитьТип(ПолученныйОбъект, Тип("Массив"));

Проверки дат

ПроверитьДату(Дата, Период, ДопСообщениеОшибки = "")

Проверяет, что дата входит в указанный период.

Период = Новый Структура("ДатаНачала, ДатаОкончания", НачалоДня(ТекущаяДата()), КонецДня(ТекущаяДата()));
Утверждения.ПроверитьДату(ДатаОперации, Период);

ПроверитьРавенствоДатСТочностью2Секунды(Дата, Дата2, ДопСообщениеОшибки = "")

Проверяет равенство дат с точностью до 2 секунд.

Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ВремяВыполнения, ОжидаемоеВремя);

Строковые проверки

ПроверитьЧтоВСтрокеСодержатсяТолькоЦифры(ИсходнаяСтрока, ДопСообщениеОшибки = "")

Проверяет, что строка содержит только цифры.

Утверждения.ПроверитьЧтоВСтрокеСодержатсяТолькоЦифры(Телефон);

ПроверитьВхождение(Строка, ПодстрокаПоиска, ДопСообщениеОшибки = "")

Проверяет, что строка содержит указанную подстроку.

Утверждения.ПроверитьВхождение(ОтветСервера, "success");

Проверки исключений и методов

ПроверитьКодСОшибкой(Код, Ошибка, ДопСообщениеОшибки = "")

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

Утверждения.ПроверитьКодСОшибкой("ВызватьИсключение ""Тестовая ошибка""", "Тестовая ошибка");

ПроверитьМетодСуществует(Объект, ИмяМетода, ДопСообщениеОшибки = "")

Проверяет наличие метода у объекта.

Утверждения.ПроверитьМетодСуществует(МойОбъект, "ВыполнитьОбработку");

About

Библиотека утверждений (assertions) для 1Script

Resources

Readme
Activity
Custom properties

Stars

13 stars

Watchers

3 watching

Forks

7 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.