Skip to content

Commit 3ac22f5

Browse files
kuntashovartbear
authored andcommitted
[ОФ] Добавлена поддержка выполнения дымовых тестов в строгом порядке. (#772)
В конфигурационный файл добавлен параметр "СтрогийПорядокВыполнения" (bool/Булево). По умолчанию - false (случайный порядок выполнения - стандартное поведение xddTestRunner).
1 parent ca3b6c4 commit 3ac22f5

File tree

6 files changed

+44
-23
lines changed

6 files changed

+44
-23
lines changed

Tests/Smoke/readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
* `ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций` - для управления исключением форм, зависящих от отключенных функциональных опций
8989
* `СпособГруппировки` - для настройки способа группировки тестовых случаев для использования в интерактивном режиме
9090
* `КоличествоВГруппе` - для указания количества тестовых случаев в группе при выбранном способе группировки `ПоКоличеству` (см. ниже)
91+
* `СтрогийПорядокВыполнения` - Тип: bool (Булево). По умолчанию - false, тесты выполняются в случайном порядке. Если true, то тесты выполняются последовательно и в случае ошибки выполнение набора тестов приостанавливается.
9192
9293
Использование этих свойств подробно описано ниже.
9394
Binary file not shown.

smoke.example.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"smoke": {
33

4+
"СтрогийПорядокВыполнения": true,
5+
46
"СпособГруппировки": "ПоВидуОбъекта",
57
"ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций" : true,
68
"ВыводитьСообщенияВЖурналРегистрации": true,

src/Tests/Smoke/тесты_ОткрытиеФормКонфигурации/Form/ПолучениеФорм/form

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
{0}
7171
},
7272
{0}
73-
},266,134,1,0,1,4,4,56,266,134,96},
73+
},266,134,1,0,1,4,4,60,266,134,96},
7474
{
7575
{-1},1,
7676
{0},

src/Tests/Smoke/тесты_ОткрытиеФормКонфигурации/ObjectModule.bsl

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
КонецПроцедуры
2222

2323
Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт
24-
24+
2525
КонтекстЯдра = КонтекстЯдраПараметр;
2626

2727
ВидыМетаданных = ВидыМетаданных();
@@ -33,13 +33,17 @@
3333
НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки);
3434

3535
НужноИсключениеЕслиНеНайденоДокументов = Ложь;
36-
36+
3737
Если НЕ СоздатьФорму_ПолучениеФорм() Тогда
3838
Возврат;
3939
КонецЕсли;
4040

4141
СоздатьИменаОсновныхФорм();
4242

43+
Если ВключенСтрогийПорядокВыполнения() Тогда
44+
НаборТестов.СтрогийПорядокВыполнения();
45+
КонецЕсли;
46+
4347
Если НЕ ВидМетаданныхИсключенИзТестирования("Справочники") Тогда
4448
ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки);
4549
КонецЕсли;
@@ -322,9 +326,11 @@
322326
#Область ФормированиеСпискаТестовыхСлучаев
323327

324328
Процедура ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки)
325-
329+
330+
СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения();
331+
326332
Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда
327-
НаборТестов.НачатьГруппу("Справочники");
333+
НаборТестов.НачатьГруппу("Справочники", СтрогийПорядокВыполнения);
328334
КонецЕсли;
329335
Счетчик = 0;
330336

@@ -333,12 +339,12 @@
333339
Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда
334340
Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда
335341
ИмяГруппы = "Справочники (" + Строка(Счетчик + 1) + "..." + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")";
336-
НаборТестов.НачатьГруппу(ИмяГруппы);
342+
НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения);
337343
КонецЕсли;
338344
КонецЕсли;
339345

340346
Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда
341-
НаборТестов.НачатьГруппу("Справочник." + МетаОбъект.Имя);
347+
НаборТестов.НачатьГруппу("Справочник." + МетаОбъект.Имя, СтрогийПорядокВыполнения);
342348
КонецЕсли;
343349

344350
Счетчик = Счетчик + 1;
@@ -388,9 +394,11 @@
388394
КонецПроцедуры
389395

390396
Процедура ДобавитьТестыФормДокументов(НаборТестов, НастройкаГруппировки)
391-
397+
398+
СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения();
399+
392400
Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда
393-
НаборТестов.НачатьГруппу("Документы");
401+
НаборТестов.НачатьГруппу("Документы", СтрогийПорядокВыполнения);
394402
КонецЕсли;
395403

396404
Счетчик = 0;
@@ -400,12 +408,12 @@
400408
Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда
401409
Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда
402410
ИмяГруппы = "Документы (" + Строка(Счетчик + 1) + "..." + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")";
403-
НаборТестов.НачатьГруппу(ИмяГруппы);
411+
НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения);
404412
КонецЕсли;
405413
КонецЕсли;
406414

407415
Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда
408-
НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя);
416+
НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя, СтрогийПорядокВыполнения);
409417
КонецЕсли;
410418

411419
Счетчик = Счетчик + 1;
@@ -455,7 +463,7 @@
455463
Процедура ДобавитьТестыФормОбработок(НаборТестов, НастройкаГруппировки)
456464

457465
Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда
458-
НаборТестов.НачатьГруппу("Обработки");
466+
НаборТестов.НачатьГруппу("Обработки", ВключенСтрогийПорядокВыполнения());
459467
КонецЕсли;
460468

461469
ДобавитьТестПоМенеджеруМетаданных(
@@ -469,9 +477,9 @@
469477
КонецПроцедуры
470478

471479
Процедура ДобавитьТестыФормОтчетов(НаборТестов, НастройкаГруппировки)
472-
480+
473481
Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда
474-
НаборТестов.НачатьГруппу("Отчеты");
482+
НаборТестов.НачатьГруппу("Отчеты", ВключенСтрогийПорядокВыполнения());
475483
КонецЕсли;
476484

477485
ДобавитьТестПоМенеджеруМетаданных(
@@ -485,8 +493,9 @@
485493
КонецПроцедуры
486494

487495
Процедура ДобавитьТестПоМенеджеруМетаданных(НаборТестов, менеджерМетаданного, имяТеста, списокИсключений, ИменаОсновныхФорм)
488-
496+
489497
НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки);
498+
СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения();
490499

491500
ЭтоОтчеты = (менеджерМетаданного = Метаданные.Отчеты);
492501

@@ -498,12 +507,12 @@
498507
Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда
499508
ИмяГруппы = ?(ЭтоОтчеты, "Отчеты", "Обработки") + " (" + Строка(Счетчик + 1) + "..." +
500509
Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")";
501-
НаборТестов.НачатьГруппу(ИмяГруппы);
510+
НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения);
502511
КонецЕсли;
503512
КонецЕсли;
504513

505514
Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда
506-
НаборТестов.НачатьГруппу(?(ЭтоОтчеты, "Отчет", "Обработка") + "." + МетаОбъект.Имя);
515+
НаборТестов.НачатьГруппу(?(ЭтоОтчеты, "Отчет", "Обработка") + "." + МетаОбъект.Имя, СтрогийПорядокВыполнения);
507516
КонецЕсли;
508517

509518
Счетчик = Счетчик + 1;
@@ -535,7 +544,6 @@
535544
КонецЕсли;
536545

537546
Если ПропускатьТест Тогда
538-
имяТеста = ИмяМетодаПропускаТестов();
539547
ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых);
540548
КонецЕсли;
541549

@@ -570,11 +578,13 @@
570578
Если ПропускатьТест Или ПропускатьТестФормы Тогда
571579
ПредставлениеТеста = ПрефиксПропускаемых + " : " + ПредставлениеТеста;
572580
ПараметрыТеста = ПараметрыПропускаемогоТеста;
581+
ВремИмяТеста = ИмяМетодаПропускаТестов();
573582
Иначе
583+
ВремИмяТеста = имяТеста;
574584
ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаФорма_ПолноеИмя, ЕстьТранзакция, МетаОбъект);
575585
КонецЕсли;
576586

577-
НаборТестов.Добавить(имяТеста, ПараметрыТеста, ПредставлениеТеста);
587+
НаборТестов.Добавить(ВремИмяТеста, ПараметрыТеста, ПредставлениеТеста);
578588

579589
КонецЦикла;
580590

@@ -603,7 +613,6 @@
603613

604614
Если ПропускатьТест Тогда
605615
ПрефиксПредставленияТеста = ПрефиксПредставленияТеста + " : " + ПрефиксПропускаемых;
606-
имяТеста = ИмяМетодаПропускаТестов();
607616
ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых);
608617
КонецЕсли;
609618

@@ -626,11 +635,13 @@
626635

627636
Если ПропускатьТест Или ПропускатьТестФормы Тогда
628637
ПараметрыТеста = ПараметрыПропускаемогоТеста;
638+
ВремИмяТеста = ИмяМетодаПропускаТестов();
629639
Иначе
630640
ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция);
641+
ВремИмяТеста = имяТеста;
631642
КонецЕсли;
632643

633-
НаборТестов.Добавить(имяТеста, ПараметрыТеста, ПредставлениеТеста);
644+
НаборТестов.Добавить(ВремИмяТеста, ПараметрыТеста, ПредставлениеТеста);
634645

635646
КонецЦикла;
636647

@@ -677,7 +688,7 @@
677688

678689
// Портировано из подсистемы "Инструменты разработчика"
679690

680-
Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, ЕстьТранзакция, МетаданныеВладельцаФормы) Экспорт
691+
Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, ЕстьТранзакция=Ложь, МетаданныеВладельцаФормы=Неопределено) Экспорт
681692

682693
ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, "", Неопределено, Ложь, МетаданныеВладельцаФормы);
683694

@@ -1096,6 +1107,13 @@
10961107

10971108
КонецФункции
10981109

1110+
Функция ВключенСтрогийПорядокВыполнения()
1111+
Если ЕстьНастройка("СтрогийПорядокВыполнения", Настройки) И Настройки.СтрогийПорядокВыполнения = Истина Тогда
1112+
Возврат Истина;
1113+
КонецЕсли;
1114+
Возврат Ложь;
1115+
КонецФункции
1116+
10991117
#КонецОбласти
11001118

11011119
#Область ПоискИСозданиеОбъектов
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{1,15,"",aea0bcb9-09c4-4ea6-94a5-7cdb6a5f2c74,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c",c115b737-e15d-4992-9b17-c4a6801147a4,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0",a022d071-6c9c-453b-afaa-c86d5318de47,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7",b6ffa171-f60d-4f8e-83c3-e2a67aa35bac,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0",83325393-b6e8-4626-8eb4-65d173073cd0,"be1492ab-bedd-4e13-8827-ed025cda688a",2cc2611b-0ea7-4156-8a36-47e6b2e43081,"be1492ab-bedd-4e13-8827-ed025cda688a.0",8a37014d-3e88-427d-9adc-4da7833536d3,"be1492ab-bedd-4e13-8827-ed025cda688a.1",0e88792e-dd94-4a89-986a-1d559f2cafdc,"copyinfo",1c2275c7-59fa-45a6-9211-00685d1c7d32,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff",950cbccd-96c4-452a-960d-5052c58af474,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0",d58e9384-66d0-4072-85ed-be107455f52f,"eb6420d9-ff9e-4c68-b025-2c1608cec69f",35490bf3-3bb8-4785-a2ec-9c073237d88f,"root",e7e7b1c6-a6d2-4868-886d-e723e91a1479,"version",71327d2b-f71f-4f32-b11a-03004a65ee8c,"versions",ec2e6b2f-cdff-4270-b8f8-c87a5d32d1ad}
1+
{1,15,"",6af02e97-e7ba-4ef7-9339-d9b2c1ca214c,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c",aab0b131-1b90-4069-884f-9c0d3e5619d9,"45cb56ba-09f2-4931-88c4-1e63a1a8f37c.0",1c1208d4-850f-4420-a759-b3138ca127b1,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7",61305c0f-1b7f-411c-b6f6-133b07612cfb,"724d5548-5d6b-4e19-98cf-0ea3ae12c0a7.0",7b48aefc-5bfb-4fb8-88c1-860c50d31cc9,"be1492ab-bedd-4e13-8827-ed025cda688a",05dbc16b-8073-477d-b2fe-050421a76d21,"be1492ab-bedd-4e13-8827-ed025cda688a.0",b2baa068-4313-41bc-946d-325d5c412ba7,"be1492ab-bedd-4e13-8827-ed025cda688a.1",0e88792e-dd94-4a89-986a-1d559f2cafdc,"copyinfo",5d855bbb-fa0d-4bca-9354-ef93cace9e73,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff",950cbccd-96c4-452a-960d-5052c58af474,"df099fc3-03ed-44c9-a8dd-e95a1e8978ff.0",b0301ff2-2429-4303-805e-f3919c111679,"eb6420d9-ff9e-4c68-b025-2c1608cec69f",1e335a42-476a-4670-a893-16ee341f4b5c,"root",56e1a254-c9b5-48a6-9a46-a8328f0787b2,"version",032ca461-607d-4269-a5cc-b66f138d4e32,"versions",eeed466f-57f1-4b2a-9a17-7196b2131160}

0 commit comments

Comments
 (0)