Добавляет в скрипт функционал "Утверждений" (assertions). Возможны 2 стиля использования:
- Модуль "Утверждения" - утверждения в стиле фреймворка xUnitFor1C
- Свойство глобального контекста "Ожидаем" - fluent-API утверждений в стиле BDD
МояПеременная = ВычислитьЧтоТоТам();
// xUnit style
Утверждения.ПроверитьРавенство(1, МояПеременная, "Моя переменная должна быть строго равна 1");
// BDD style
Ожидаем.Что(МояПеременная).Равно(1);
BDD стиль предоставляет fluent API для создания более читаемых утверждений.
Ожидаем.Что(ПроверяемоеЗначение).МетодПроверки(ПараметрыПроверки);
Инвертирует результат следующей проверки.
Ожидаем.Что(Значение).Не_().Равно(0);
Ожидаем.Что(Строка).ЭтоНе().Заполнено();
Проверяет, что значение равно Истина
.
Ожидаем.Что(УсловиеВыполнено).ЭтоИстина();
Проверяет, что значение равно Ложь
.
Ожидаем.Что(ОшибкаВозникла).ЭтоЛожь();
Проверяет равенство значений.
Ожидаем.Что(Результат).Равно(42);
Ожидаем.Что(Статус).Равно("Готов");
Проверяет, что значение больше указанного.
Ожидаем.Что(Количество).Больше(0);
Проверяет, что значение больше или равно указанному.
Ожидаем.Что(Возраст).БольшеИлиРавно(18);
Ожидаем.Что(Зарплата).Минимум(10000);
Проверяет, что значение меньше указанного.
Ожидаем.Что(ВремяОтклика).Меньше(1000);
Проверяет, что значение меньше или равно указанному.
Ожидаем.Что(Оценка).МеньшеИлиРавно(10);
Ожидаем.Что(Размер).Максимум(1024);
Проверяет, что значение находится в указанном диапазоне.
Ожидаем.Что(Процент).Между(0, 100);
Проверяет, что значение заполнено.
Ожидаем.Что(НомерЗаказа).Заполнено();
Проверяет, что значение не равно Неопределено
и не равно Null
.
Ожидаем.Что(НайденныйЭлемент).Существует();
Проверяет, что значение равно Неопределено
.
Ожидаем.Что(НеинициализированнаяПеременная).ЭтоНеопределено();
Проверяет, что значение равно Null
.
Ожидаем.Что(ПустаяСсылка).ЭтоNull();
Проверяет соответствие типа значения ожидаемому.
Ожидаем.Что(МойОбъект).ИмеетТип("Структура");
Ожидаем.Что(СписокЗначений).ИмеетТип(Тип("Массив"));
Проверяет содержание элемента в коллекции или подстроки в строке.
// Для строк
Ожидаем.Что(ТекстОшибки).Содержит("не найден");
// Для массивов
Ожидаем.Что(СписокФайлов).Содержит("config.json");
// Для структур/соответствий - проверяет значения
Ожидаем.Что(Настройки).Содержит("Администратор");
Проверяет длину строки или количество элементов в коллекции.
Ожидаем.Что(Пароль).ИмеетДлину(8);
Ожидаем.Что(МассивДанных).ИмеетДлину(5);
Проверяет наличие метода у объекта.
Ожидаем.Что(МойОбъект).ИмеетМетод("ВыполнитьОбработку");
Проверяет, что вызов метода вызывает исключение.
Ожидаем.Что(КалькуляторОбъект).Метод("Разделить", Новый Массив).ВыбрасываетИсключение("деление на ноль");
Сравнивает таблицы значений.
Ожидаем.Что(ПолученнаяТаблица).РавнаТаблице(ОжидаемаяТаблица);
Сравнивает только структуру таблиц (колонки и их типы).
Ожидаем.Что(НоваяТаблица).ИмеетРавнуюСтруктуруСТаблицей(ШаблонТаблицы);
Проверяет наличие строки с указанными значениями в таблице.
СтрокаПоиска = Новый Структура("Код, Наименование", "001", "Товар1");
Ожидаем.Что(ТаблицаТоваров).СодержитСтрокуТаблицы(СтрокаПоиска);
Игнорирует порядок строк при сравнении таблиц.
Ожидаем.Что(Таблица1).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2);
Игнорирует порядок колонок при сравнении таблиц.
Ожидаем.Что(Таблица1).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица2);
Игнорирует имена колонок при сравнении таблиц.
Ожидаем.Что(Таблица1).БезУчетаИменКолонок().РавнаТаблице(Таблица2);
Игнорирует порядок элементов при сравнении массивов.
Ожидаем.Что(Массив1).НеУчитыватьПорядокВМассиве().РавноМассиву(Массив2);
Выполняет глубокое сравнение объектов (структур, массивов, таблиц).
Ожидаем.Что(СложнаяСтруктура).Идентично(ОжидаемаяСтруктура);
Сравнивает массивы с детальной диагностикой различий.
Ожидаем.Что(ПолученныйМассив).РавноМассиву(ОжидаемыйМассив);
Сравнивает структуры или соответствия с детальной диагностикой.
Ожидаем.Что(НастройкиСистемы).РавноСтруктуреИлиСоответствию(ОжидаемыеНастройки);
BDD стиль поддерживает цепочки утверждений для комплексных проверок:
Ожидаем.Что(Пользователь)
.ИмеетТип("Структура")
.Содержит("Администратор")
.ИмеетДлину(3);
Ожидаем.Что(Таблица)
.БезУчетаПорядкаСтрок()
.БезУчетаПорядкаКолонок()
.РавнаТаблице(ЭталонТаблица);
Проверяет, что условие истинно.
Утверждения.Проверить(Истина, "Условие должно быть истинным");
Синоним для Проверить()
. Проверяет, что значение равно Истина
.
Утверждения.ПроверитьИстину(ПолучитьБулевоЗначение());
Проверяет, что значение равно Ложь
.
Утверждения.ПроверитьЛожь(ПользовательНеАвторизован);
Проверяет равенство двух значений.
Утверждения.ПроверитьРавенство(42, ПолучитьЧисло());
Утверждения.ПроверитьРавенство("Привет", ПолучитьСтроку());
Проверяет неравенство двух значений.
Утверждения.ПроверитьНеРавенство("", ИмяПользователя);
Проверяет, что первое значение больше второго.
Утверждения.ПроверитьБольше(100, ПолученнаяСумма);
Проверяет, что первое значение больше или равно второму.
Утверждения.ПроверитьБольшеИлиРавно(0, КоличествоЭлементов);
Проверяет, что первое значение меньше второго.
Утверждения.ПроверитьМеньше(ВремяВыполнения, МаксимальноеВремя);
Проверяет, что первое значение меньше или равно второму.
Утверждения.ПроверитьМеньшеИлиРавно(РазмерФайла, МаксимальныйРазмер);
Проверяет, что значение заполнено (с помощью ЗначениеЗаполнено()
).
Утверждения.ПроверитьЗаполненность(НомерДокумента);
Утверждения.ПроверитьЗаполненность(ДатаСоздания);
Проверяет, что значение не заполнено.
Утверждения.ПроверитьНеЗаполненность(ДатаУдаления);
Проверяет соответствие типа значения ожидаемому типу.
Утверждения.ПроверитьТип(ПолученныйОбъект, "Структура");
Утверждения.ПроверитьТип(ПолученныйОбъект, Тип("Массив"));
Проверяет, что дата входит в указанный период.
Период = Новый Структура("ДатаНачала, ДатаОкончания", НачалоДня(ТекущаяДата()), КонецДня(ТекущаяДата()));
Утверждения.ПроверитьДату(ДатаОперации, Период);
Проверяет равенство дат с точностью до 2 секунд.
Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ВремяВыполнения, ОжидаемоеВремя);
Проверяет, что строка содержит только цифры.
Утверждения.ПроверитьЧтоВСтрокеСодержатсяТолькоЦифры(Телефон);
Проверяет, что строка содержит указанную подстроку.
Утверждения.ПроверитьВхождение(ОтветСервера, "success");
Проверяет, что выполнение кода вызывает ошибку с указанным текстом.
Утверждения.ПроверитьКодСОшибкой("ВызватьИсключение ""Тестовая ошибка""", "Тестовая ошибка");
Проверяет наличие метода у объекта.
Утверждения.ПроверитьМетодСуществует(МойОбъект, "ВыполнитьОбработку");