mirror of
https://github.com/bia-technologies/precommit4onec.git
synced 2024-11-28 08:48:45 +02:00
9d8a04c4ab
Доработка и рефакторинг.
82 lines
4.1 KiB
Plaintext
82 lines
4.1 KiB
Plaintext
#Использовать "../src"
|
|
#Использовать 1bdd
|
|
#Использовать 1testrunner
|
|
|
|
Функция ПрогнатьТесты()
|
|
|
|
Тестер = Новый Тестер;
|
|
|
|
ПутьКТестам = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "tests");
|
|
ПутьКОтчетуJUnit = ОбъединитьПути(ТекущийСценарий().Каталог, "..");
|
|
|
|
КаталогТестов = Новый Файл(ПутьКТестам);
|
|
Если Не КаталогТестов.Существует() Тогда
|
|
Сообщить(СтрШаблон("Не найден каталог тестов %1", ПутьКТестам));
|
|
Возврат Истина;
|
|
КонецЕсли;
|
|
|
|
РезультатТестирования = Тестер.ТестироватьКаталог(
|
|
КаталогТестов,
|
|
Новый Файл(ПутьКОтчетуJUnit)
|
|
);
|
|
|
|
Успешно = РезультатТестирования = 0;
|
|
|
|
Возврат Успешно;
|
|
КонецФункции // ПрогнатьТесты()
|
|
|
|
Функция ПрогнатьФичи()
|
|
|
|
ПутьОтчетаJUnit = "./bdd-log.xml";
|
|
|
|
КаталогФич = ОбъединитьПути(".", "features");
|
|
|
|
Файл_КаталогФич = Новый Файл(КаталогФич);
|
|
Если Не Файл_КаталогФич.Существует() Тогда
|
|
Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич));
|
|
Возврат Истина;
|
|
КонецЕсли;
|
|
|
|
ИсполнительБДД = Новый ИсполнительБДД;
|
|
РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич);
|
|
ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
|
|
|
|
СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся;
|
|
Если РезультатыВыполнения.Строки.Количество() > 0 Тогда
|
|
|
|
СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
|
|
|
|
КонецЕсли;
|
|
|
|
ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit;
|
|
ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit);
|
|
|
|
Сообщить(СтрШаблон("Результат прогона фич <%1>
|
|
|", ИтоговыйРезультатВыполнения));
|
|
|
|
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался;
|
|
КонецФункции // ПрогнатьФичи()
|
|
|
|
Попытка
|
|
ТестыПрошли = ПрогнатьТесты();
|
|
Исключение
|
|
ТестыПрошли = Ложь;
|
|
Сообщить(СтрШаблон("Тесты через 1testrunner выполнены неудачно
|
|
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
|
|
КонецПопытки;
|
|
|
|
Попытка
|
|
ФичиПрошли = ПрогнатьФичи();
|
|
Исключение
|
|
ФичиПрошли = Ложь;
|
|
Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно
|
|
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
|
|
КонецПопытки;
|
|
|
|
Если Не ТестыПрошли Или Не ФичиПрошли Тогда
|
|
ВызватьИсключение "Тестирование завершилось неудачно!";
|
|
Иначе
|
|
Сообщить(СтрШаблон("Результат прогона тестов <%1>
|
|
|", ТестыПрошли));
|
|
КонецЕсли;
|