|
1 | | -// #Использовать "../src" |
2 | 1 | #Использовать 1bdd |
3 | 2 | #Использовать 1testrunner |
| 3 | +#Использовать fs |
4 | 4 |
|
5 | | -Функция ПрогнатьТесты() |
6 | | - |
7 | | - Тестер = Новый Тестер; |
| 5 | +Функция ПрогнатьФичи(Знач КаталогФайловПокрытия, Знач ПутьФич = "features", Знач ПутьОтчетаJUnit = "./bdd-log.xml") |
8 | 6 |
|
9 | | - ПутьКТестам = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "tests"); |
10 | | - ПутьКОтчетуJUnit = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); |
| 7 | + КаталогФич = ОбъединитьПути(".", ПутьФич); |
11 | 8 |
|
12 | | - КаталогТестов = Новый Файл(ПутьКТестам); |
13 | | - Если Не КаталогТестов.Существует() Тогда |
14 | | - Сообщить(СтрШаблон("Не найден каталог тестов %1", ПутьКТестам)); |
15 | | - Возврат Истина; |
16 | | - КонецЕсли; |
17 | | - |
18 | | - РезультатТестирования = Тестер.ТестироватьКаталог( |
19 | | - КаталогТестов, |
20 | | - Новый Файл(ПутьКОтчетуJUnit) |
21 | | - ); |
22 | | - |
23 | | - Успешно = РезультатТестирования = 0; |
24 | | - |
25 | | - Возврат Успешно; |
26 | | -КонецФункции // ПрогнатьТесты() |
27 | | - |
28 | | -Функция ПрогнатьФичи() |
29 | | - |
30 | | - ПутьКОтчетам = ОбъединитьПути("build", "reports"); |
31 | | - СоздатьКаталог(ПутьКОтчетам); |
32 | | - |
33 | | - ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-log.xml"); |
| 9 | + Файл_КаталогФич = Новый Файл(КаталогФич); |
34 | 10 |
|
35 | | - КаталогФич = ОбъединитьПути(".", "features"); |
| 11 | + ИсполнительБДД = Новый ИсполнительБДД; |
36 | 12 |
|
37 | | - Файл_КаталогФич = Новый Файл(КаталогФич); |
38 | | - Если Не Файл_КаталогФич.Существует() Тогда |
39 | | - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); |
40 | | - Возврат Истина; |
| 13 | + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда |
| 14 | + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); |
41 | 15 | КонецЕсли; |
42 | 16 |
|
43 | | - ИсполнительБДД = Новый ИсполнительБДД; |
44 | 17 | РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); |
45 | 18 | ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
46 | 19 |
|
47 | | - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; |
| 20 | + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); |
| 21 | + |
| 22 | + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; |
48 | 23 | Если РезультатыВыполнения.Строки.Количество() > 0 Тогда |
49 | | - |
| 24 | + |
50 | 25 | СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
51 | | - |
| 26 | + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); |
| 27 | + |
| 28 | + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); |
52 | 29 | КонецЕсли; |
53 | 30 |
|
54 | 31 | ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; |
55 | 32 | ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); |
56 | 33 |
|
57 | | - Сообщить(СтрШаблон("Результат прогона фич <%1> |
58 | | - |", ИтоговыйРезультатВыполнения)); |
| 34 | + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 |
| 35 | + |", ИтоговыйРезультатВыполнения, ПутьФич)); |
| 36 | + |
| 37 | + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; |
| 38 | +КонецФункции |
| 39 | + |
| 40 | +ИмяКаталогаФайловПокрытия = "coverage"; |
| 41 | + |
| 42 | +// основной код |
| 43 | + |
| 44 | +ТекКаталог = ТекущийКаталог(); |
59 | 45 |
|
60 | | - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; |
61 | | -КонецФункции // ПрогнатьФичи() |
| 46 | +КаталогФайловПокрытия = ""; |
62 | 47 |
|
63 | | -// Попытка |
64 | | -// ТестыПрошли = ПрогнатьТесты(); |
| 48 | +ИспользуетсяПокрытиеКода = Ложь; |
| 49 | +Для каждого Элемент Из АргументыКоманднойСтроки Цикл |
| 50 | + Если Элемент = "coverage" Тогда |
65 | 51 |
|
66 | | -// Исключение |
67 | | -// ТестыПрошли = Ложь; |
68 | | -// Сообщить(СтрШаблон("Тесты через 1testrunner выполнены неудачно |
69 | | -// |%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); |
70 | | -// КонецПопытки; |
| 52 | + КаталогФайловПокрытия = ОбъединитьПути(ТекущийКаталог(), ".", ИмяКаталогаФайловПокрытия); |
| 53 | + ФС.ОбеспечитьПустойКаталог(КаталогФайловПокрытия); |
| 54 | + |
| 55 | + Прервать; |
| 56 | + КонецЕсли; |
| 57 | +КонецЦикла; |
| 58 | + |
| 59 | +УстановитьТекущийКаталог(ТекКаталог); |
71 | 60 |
|
72 | 61 | Попытка |
73 | | - ФичиПрошли = ПрогнатьФичи(); |
| 62 | + ФичиПрошли = ПрогнатьФичи(КаталогФайловПокрытия, "features"); |
74 | 63 | Исключение |
75 | 64 | ФичиПрошли = Ложь; |
76 | 65 | Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно |
77 | 66 | |%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); |
78 | 67 | КонецПопытки; |
79 | 68 |
|
| 69 | +Сообщить(СтрШаблон("Результат прогона основных фич <%1> |
| 70 | +|", ФичиПрошли)); |
| 71 | + |
80 | 72 | Если Не ФичиПрошли Тогда |
81 | 73 | ВызватьИсключение "Тестирование завершилось неудачно!"; |
82 | | -Иначе |
83 | | - Сообщить(СтрШаблон("Результат прогона тестов <%1> |
84 | | - |", ФичиПрошли)); |
85 | 74 | КонецЕсли; |
0 commit comments