-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathengine-behaviors.os
96 lines (68 loc) · 4.31 KB
/
engine-behaviors.os
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
///////////////////////////////////////////////////////////////////////
//
// Тест проверки работы с исключениями
//
//
///////////////////////////////////////////////////////////////////////
Перем юТест;
Перем глТестоваяПеременная;
////////////////////////////////////////////////////////////////////
// Программный интерфейс
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
юТест = ЮнитТестирование;
ВсеТесты = Новый Массив;
ВсеТесты.Добавить("ТестДолженПроверитьИсключенияИдущиеДругЗаДругом");
ВсеТесты.Добавить("ТестДолжен_ВызватьФункциюКакПроцедуру_Issue104");
ВсеТесты.Добавить("ТестДолжен_ПрочитатьЛитералДатыСРазделителями");
ВсеТесты.Добавить("ТестДолжен_ПроверитьПерекрытиеГлобальнойПеременнойВнутриМетода");
Возврат ВсеТесты;
КонецФункции
Процедура ТестДолженПроверитьИсключенияИдущиеДругЗаДругом() Экспорт
ТекстОшибки = "";
Попытка
БроситьИсключение(1, 2);
Исключение
ТекстОшибки = ОписаниеОшибки();
Сообщить("внутри исключения (1, 2)");
КонецПопытки;
юТест.ПроверитьНеравенство("", ТекстОшибки, "Должны были получить текст исключения, но не получили");
КонецПроцедуры
Процедура БроситьИсключение(Парам1, Парам2)
Сообщить("до "+Парам1);
Попытка
ВызватьИсключение Парам1;
Исключение
ТекстОшибки = ОписаниеОшибки();
Сообщить("внутри исключения "+Парам1);
КонецПопытки;
Сообщить("до "+Парам2);
ВызватьИсключение Парам2;
КонецПроцедуры
Функция ВызовЛомающийСтек()
Если ЗначениеЗаполнено(0) Тогда
А = 2;
КонецЕсли;
Возврат 1;
КонецФункции
Функция НекаяФункция()
ВызовЛомающийСтек();
Возврат 1;
КонецФункции
Функция ПерекрытаяГлТестоваяПеременная()
Перем глТестоваяПеременная;
глТестоваяПеременная = "new";
Возврат глТестоваяПеременная;
КонецФункции
Процедура ТестДолжен_ВызватьФункциюКакПроцедуру_Issue104() Экспорт
юТест.ПроверитьРавенство(1, НекаяФункция()); // сбой передачи аргумента в метод.
КонецПроцедуры
Процедура ТестДолжен_ПрочитатьЛитералДатыСРазделителями() Экспорт
юТест.ПроверитьРавенство('20140101121727', '2014-01-01 12:17:27');
юТест.ПроверитьРавенство('20140101121727', '2014 год 01 месяц 01 число 12 часов 17 минут 27 секунд');
КонецПроцедуры
Процедура ТестДолжен_ПроверитьПерекрытиеГлобальнойПеременнойВнутриМетода() Экспорт
глТестоваяПеременная = 1;
ПерекрытаяГлТестоваяПеременная = ПерекрытаяГлТестоваяПеременная();
юТест.ПроверитьРавенство(1, глТестоваяПеременная, "Глобальная переменная не должна поменять значение");
юТест.ПроверитьРавенство("new", ПерекрытаяГлТестоваяПеременная, "Локальная переменная с таким же именем получена корректно");
КонецПроцедуры