mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-13 19:42:02 +02:00
parent
cd1e18c38a
commit
1fe079131d
@ -777,16 +777,17 @@
|
||||
// Параметры:
|
||||
// ОжидаемоеЗначение - Строка - Ожидается, что сообщение об ошибке будет содержать данный текст
|
||||
// ОписаниеПроверки - Строка - Описание конкретной проверки
|
||||
// ВТранзакции - Булево - Вызов метода выполняется в трананзакции
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот модуль для замыкания
|
||||
Функция ВыбрасываетИсключение(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт
|
||||
Функция ВыбрасываетИсключение(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено, ВТранзакции = Ложь) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки);
|
||||
Попытка
|
||||
Модуль = ПроверяемоеЗначение(Контекст);
|
||||
Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода);
|
||||
Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода, ВТранзакции);
|
||||
Исключение
|
||||
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
|
||||
КонецПопытки;
|
||||
@ -814,16 +815,17 @@
|
||||
// Параметры:
|
||||
// ОжидаемоеЗначение - Строка - Ожидается, что сообщение об ошибке НЕ будет содержать данный текст
|
||||
// ОписаниеПроверки - Строка - Описание конкретной проверки
|
||||
// ВТранзакции - Булево - Вызов метода выполняется в трананзакции
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот модуль для замыкания
|
||||
Функция НеВыбрасываетИсключение(Знач ОжидаемоеЗначение = Неопределено, Знач ОписаниеПроверки = Неопределено) Экспорт
|
||||
Функция НеВыбрасываетИсключение(Знач ОжидаемоеЗначение = Неопределено, Знач ОписаниеПроверки = Неопределено, ВТранзакции = Ложь) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки);
|
||||
Попытка
|
||||
Модуль = ПроверяемоеЗначение(Контекст);
|
||||
Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода)
|
||||
Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода, ВТранзакции);
|
||||
Исключение
|
||||
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
|
||||
КонецПопытки;
|
||||
@ -1491,7 +1493,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВызватьМетод(Модуль, ИмяМетода, ПараметрыМетода)
|
||||
Функция ВызватьМетод(Модуль, ИмяМетода, ПараметрыМетода, ВТранзакции)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТУтверждения.ВызватьМетод");
|
||||
@ -1518,6 +1520,26 @@
|
||||
|
||||
Результат = Новый Структура("ИсключениеВозникло, ТекстИсключения", Ложь);
|
||||
|
||||
#Если Сервер Тогда
|
||||
Если ВТранзакции Тогда
|
||||
Если ТранзакцияАктивна() Тогда
|
||||
ВызватьИсключение "Использование транзакции внтури транзакции при проверке метода недопустимо";
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
НачатьТранзакцию();
|
||||
//@skip-check server-execution-safe-mode
|
||||
Выполнить(СтрокаДляВыполнения);
|
||||
Исключение
|
||||
Результат.ИсключениеВозникло = Истина;
|
||||
Результат.ТекстИсключения = ОписаниеОшибки();
|
||||
КонецПопытки;
|
||||
ОтменитьТранзакцию();
|
||||
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
Попытка
|
||||
//@skip-check server-execution-safe-mode
|
||||
Выполнить(СтрокаДляВыполнения);
|
||||
|
@ -55,6 +55,7 @@
|
||||
.ДобавитьТест("НеИмеетДлину")
|
||||
.ДобавитьТест("ВыбрасываетИсключение")
|
||||
.ДобавитьТест("НеВыбрасываетИсключение")
|
||||
.ДобавитьСерверныйТест("ПроверкаМетодаВТранзакции")
|
||||
.ДобавитьСерверныйТест("СравнениеСложныхОбъектов")
|
||||
.ДобавитьТест("ФормированиеСообщения")
|
||||
.ДобавитьТест("НачинаетсяС")
|
||||
@ -1682,6 +1683,65 @@
|
||||
КонецПроцедуры
|
||||
|
||||
#Если Сервер Тогда
|
||||
|
||||
Процедура ПроверкаМетодаВТранзакции() Экспорт
|
||||
|
||||
Объект = ЮТест.Данные().КонструкторОбъекта(Справочники.Банки)
|
||||
.ФикцияОбязательныхПолей()
|
||||
.НовыйОбъект();
|
||||
|
||||
ЮТУтверждения.Что(ОМ_ЮТУтверждения)
|
||||
.Метод("ЗаписатьОбъект").Параметр(Объект)
|
||||
.НеВыбрасываетИсключение(, , Истина);
|
||||
|
||||
ЮТест.ОжидаетЧто(Объект)
|
||||
.Свойство("Ссылка").НеЗаполнено();
|
||||
|
||||
Попытка
|
||||
НачатьТранзакцию();
|
||||
ЮТУтверждения.Что(ОМ_ЮТУтверждения)
|
||||
.Метод("ЗаписатьОбъект").Параметр(Объект)
|
||||
.НеВыбрасываетИсключение();
|
||||
|
||||
ЮТест.ОжидаетЧто(Объект)
|
||||
.Свойство("Ссылка").Заполнено();
|
||||
ОтменитьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
Объект = ЮТест.Данные().КонструкторОбъекта(Справочники.Банки)
|
||||
.ФикцияОбязательныхПолей()
|
||||
.НовыйОбъект();
|
||||
|
||||
Ошибка = Неопределено;
|
||||
Попытка
|
||||
НачатьТранзакцию();
|
||||
ЮТУтверждения.Что(ОМ_ЮТУтверждения)
|
||||
.Метод("ЗаписатьОбъект").Параметр(Объект)
|
||||
.ВыбрасываетИсключение("Не удалось", , Истина);
|
||||
ОтменитьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
Ошибка = ИнформацияОбОшибке();
|
||||
КонецПопытки;
|
||||
ПроверитьОшибкуИсполнения(Ошибка, "Использование транзакции внтури транзакции при проверке метода недопустимо");
|
||||
|
||||
Ошибка = Неопределено;
|
||||
Попытка
|
||||
ЮТУтверждения.Что(ОМ_ЮТУтверждения)
|
||||
.Метод("ЗаписатьОбъект").Параметр(Объект)
|
||||
.ВыбрасываетИсключение("Не удалось", , Истина);
|
||||
Исключение
|
||||
Ошибка = ИнформацияОбОшибке();
|
||||
КонецПопытки;
|
||||
ПроверитьОшибкуУтверждения(Ошибка, "вызовет исключение");
|
||||
ЮТест.ОжидаетЧто(Объект)
|
||||
.Свойство("Ссылка").НеЗаполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СравнениеСложныхОбъектов() Экспорт
|
||||
|
||||
Варианты = Новый Массив();
|
||||
@ -2339,6 +2399,13 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЗаписатьОбъект(Объект) Экспорт
|
||||
|
||||
Объект.Записать();
|
||||
Возврат Объект;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеДляПроверкиКоллекции(Знач ВернутьСтруктуру = Неопределено)
|
||||
|
||||
Если ВернутьСтруктуру = Неопределено Тогда
|
||||
|
Loading…
x
Reference in New Issue
Block a user