Skip to content

Commit 15bb971

Browse files
committed
Исправлена ошибка при регистрации тестовых наборов из файлов с именами не являющимися валидными идентификаторами
1 parent 6f54a9a commit 15bb971

File tree

4 files changed

+59
-6
lines changed

4 files changed

+59
-6
lines changed

src/core/internal/Классы/ЗаготовкаТестирование.os

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
Перем _КаталогиТестов;
66
Перем _ФайлыТестов;
77
Перем _ИскатьВПодкаталогах;
8+
Перем РегулярноеВыражениеИмяКласса;
89

910
Процедура ПриИнициализацииПоделки(Поделка) Экспорт
1011

@@ -24,7 +25,7 @@
2425
Для каждого Тест Из ФайлыТестов Цикл
2526

2627
Путь = Тест.ПолноеИмя;
27-
ТестовыйНабор = "oneunit_testcase_" + Тест.ИмяБезРасширения;
28+
ТестовыйНабор = "oneunit_testsuite_" + РегулярноеВыражениеИмяКласса.Заменить(Тест.ИмяБезРасширения, "_");
2829

2930
ДобавитьЗавязь = Ложь;
3031

@@ -105,4 +106,6 @@
105106
_ИскатьВПодкаталогах = ИскатьВПодкаталогах;
106107
_ФайлыТестов = СтрРазделить(ФайлыТестов, ",", Ложь);
107108

109+
РегулярноеВыражениеИмяКласса = Новый РегулярноеВыражение("((?<=^)[^a-zA-Z_а-яА-ЯёЁ]|[^a-zA-Z0-9_а-яА-ЯёЁ])");
110+
108111
КонецПроцедуры

src/core/internal/Классы/ОпределениеТестНабора.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
"Не удалось определить путь к тестовому набору"
120120
);
121121

122-
_Имя = СтрЗаменить(Определение.Имя(), "oneunit_testcase_", "");
122+
_Имя = СтрЗаменить(Определение.Имя(), "oneunit_testsuite_", "");
123123

124124
_Представление = СтрШаблон(
125125
"%1 (%2)",
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
&Тест
2+
Процедура Тест() Экспорт
3+
КонецПроцедуры
4+
5+
&ТестовыйНабор
6+
&Порядок(13)
7+
Процедура ПриСозданииОбъекта()
8+
КонецПроцедуры

tests/Обнаружитель.os

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
// Тогда
1818

19-
Ожидаем.Что(ТестПлан.Дети().Количество()).Равно(14);
19+
Ожидаем.Что(ТестПлан.Дети().Количество()).Равно(15);
2020

2121
#Область НаборБезКонструктора
2222

@@ -1118,14 +1118,56 @@
11181118

11191119
#КонецОбласти
11201120

1121+
#Область __Тест_Набор_Со_Странным_Именем_1_
1122+
1123+
ИндексНабора = 14;
1124+
1125+
ПроверитьТестНабор(
1126+
ТестПлан.Дети().Получить(ИндексНабора),
1127+
"__Тест_Набор_Со_Странным_Именем_1_",
1128+
Списки.ИзЭлементов(),
1129+
0,
1130+
0,
1131+
Карты.ИзЭлементов(
1132+
"ПередВсеми", Списки.ИзЭлементов(),
1133+
"ПередКаждым", Списки.ИзЭлементов(),
1134+
"ПослеВсех", Списки.ИзЭлементов(),
1135+
"ПослеКаждого", Списки.ИзЭлементов()
1136+
),
1137+
,
1138+
,
1139+
"1_Тест-Набор.Со+Странным^Именем_1,"
1140+
);
1141+
1142+
Ожидаем.Что(ТестПлан.Дети().Получить(ИндексНабора).Дети()).ИмеетДлину(1);
1143+
1144+
ПроверитьТест(
1145+
ТестПлан.Дети().Получить(ИндексНабора).Дети().Получить(0),
1146+
ТипыОпределенийТестов.Тест,
1147+
"Тест",
1148+
"Тест",
1149+
"__Тест_Набор_Со_Странным_Именем_1_.Тест",
1150+
ОбъединитьПути(".", "tests", "fixtures", "1_Тест-Набор.Со+Странным^Именем_1,.os"),
1151+
0,
1152+
Списки.ИзЭлементов(),
1153+
Списки.ИзЭлементов(),
1154+
0
1155+
);
1156+
1157+
#КонецОбласти
1158+
11211159
#КонецОбласти
11221160

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

11251163
Процедура ПроверитьТестНабор(ТестНабор, Имя, Теги, Таймаут, Условия, ЖизненныйЦикл,
1126-
ЭтоОдиночка = Ложь, ПроверятьТестНабор = Истина)
1164+
ЭтоОдиночка = Ложь, ПроверятьТестНабор = Истина, ИмяФайла = "")
1165+
1166+
Если ПустаяСтрока(ИмяФайла) Тогда
1167+
ИмяФайла = Имя;
1168+
КонецЕсли;
11271169

1128-
Путь = ОбъединитьПути(".", "tests", "fixtures", Имя + ".os");
1170+
Путь = ОбъединитьПути(".", "tests", "fixtures", ИмяФайла + ".os");
11291171

11301172
Ожидаем.Что(ТестНабор).ИмеетТип("ОпределениеТестНабора");
11311173

@@ -1135,7 +1177,7 @@
11351177
Ожидаем.Что(Строка(ТестНабор)).Равно(Имя + " (" + Путь + ")");
11361178

11371179
Если ПроверятьТестНабор Тогда
1138-
Ожидаем.Что(ТестНабор.ТестНабор()).ИмеетТип("oneunit_testcase_" + Имя);
1180+
Ожидаем.Что(ТестНабор.ТестНабор()).ИмеетТип("oneunit_testsuite_" + Имя);
11391181
Иначе
11401182
Ожидаем.Что(ТестНабор.ТестНабор()).ЭтоНеопределено();
11411183
КонецЕсли;

0 commit comments

Comments
 (0)