mirror of
https://github.com/bia-technologies/precommit4onec.git
synced 2024-11-24 08:32:25 +02:00
#ONECID-20
Поправил анг с. Добавил unit тесты. обновил packagedef для unit тестов. Добавил сценарий в конфиг.
This commit is contained in:
parent
96e19454e7
commit
236d0055b7
@ -10,33 +10,49 @@
|
||||
И я включаю отладку лога с именем "oscript.app.precommit4onec"
|
||||
И я создаю временный каталог и запоминаю его как "КаталогРепозиториев"
|
||||
И я переключаюсь во временный каталог "КаталогРепозиториев"
|
||||
И я создаю новый репозиторий "rep1" в каталоге "КаталогРепозиториев" и запоминаю его как "Репозиторий1"
|
||||
И я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os install rep1"
|
||||
И я создаю новый репозиторий "rep1" в каталоге "КаталогРепозиториев" и запоминаю его как "РабочийКаталог"
|
||||
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install rep1"
|
||||
|
||||
Сценарий: Фиксация изменений
|
||||
Когда Я копирую файл "features/demo/DemoОбработка.epf" в каталог репозитория "Репозиторий1"
|
||||
И я копирую файл "features/demo/DemoОтчет.erf" в каталог репозитория "Репозиторий1"
|
||||
И я копирую файл "features/demo/DemoРасширение.cfe" в каталог репозитория "Репозиторий1"
|
||||
И я фиксирую изменения в репозитории "Репозиторий1" с комментарием "demo коммит"
|
||||
Тогда В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form\Module.bsl"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form\form"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет\Templates\ОсновнаяСхемаКомпоновкиДанных.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет\Templates\ОсновнаяСхемаКомпоновкиДанных\Ext\Template.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form.bin"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяУФ.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяУФ\Ext\Form.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "epf\DemoОбработка\DemoОбработка.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form.bin"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяУФ.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяУФ\Ext\Form.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form\Module.bsl"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form\form"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "cfe\DemoРасширение\ConfigDumpInfo.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "cfe\DemoРасширение\Configuration.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "cfe\DemoРасширение\CommonModules\DemoРасш_Demo.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "cfe\DemoРасширение\CommonModules\DemoРасш_Demo\Ext\Module.bsl"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "cfe\DemoРасширение\Subsystems\DemoРасш_Demo.xml"
|
||||
И В каталоге "src" репозитория "Репозиторий1" есть файл "cfe\DemoРасширение\Languages\Русский.xml"
|
||||
Сценарий: Разбор отчетов, обработок, конфигурации на исходники.
|
||||
Когда Я копирую файл "fixtures/demo/DemoОбработка.epf" в каталог репозитория "РабочийКаталог"
|
||||
И я копирую файл "fixtures/demo/DemoОтчет.erf" в каталог репозитория "РабочийКаталог"
|
||||
И я копирую файл "fixtures/demo/DemoРасширение.cfe" в каталог репозитория "РабочийКаталог"
|
||||
И я фиксирую изменения в репозитории "РабочийКаталог" с комментарием "demo коммит"
|
||||
Тогда В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form\Module.bsl"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form\form"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Templates\ОсновнаяСхемаКомпоновкиДанных.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Templates\ОсновнаяСхемаКомпоновкиДанных\Ext\Template.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form.bin"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяУФ.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяУФ\Ext\Form.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form.bin"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяУФ.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяУФ\Ext\Form.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form\Module.bsl"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form\form"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\ConfigDumpInfo.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\Configuration.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\CommonModules\DemoРасш_Demo.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\CommonModules\DemoРасш_Demo\Ext\Module.bsl"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\Subsystems\DemoРасш_Demo.xml"
|
||||
И В каталоге "src" репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\Languages\Русский.xml"
|
||||
|
||||
Сценарий: Успешный коммит в репозиторий
|
||||
Когда Я копирую файл "fixtures\ПроверкаДублейПроцедурПоложительныйТест.bsl" в каталог репозитория "РабочийКаталог"
|
||||
И Я очищаю параметры команды "git" в контексте
|
||||
И Я установил рабочий каталог как текущий каталог
|
||||
И Я выполняю команду "git" с параметрами "add --all"
|
||||
И Я выполняю команду "git" с параметрами "commit -m addProcedure"
|
||||
Тогда Вывод команды "git" не содержит "обнаружены неуникальные имена методов"
|
||||
|
||||
Сценарий: Прекоммит заблокировал коммит в репозиторий
|
||||
Когда Я копирую файл "fixtures\ПроверкаДублейПроцедурНегативныйТест.bsl" в каталог репозитория "РабочийКаталог"
|
||||
И Я очищаю параметры команды "git" в контексте
|
||||
И Я установил рабочий каталог как текущий каталог
|
||||
И Я выполняю команду "git" с параметрами "add --all"
|
||||
И Я выполняю команду "git" с параметрами "commit -m addProcedure"
|
||||
Тогда Вывод команды "git" содержит "обнаружены неуникальные имена методов"
|
@ -14,6 +14,7 @@
|
||||
.ЗависитОт("v8unpack", "1.0.1")
|
||||
.ВключитьФайл("src")
|
||||
.ВключитьФайл("fixtures")
|
||||
.ВключитьФайл("tests")
|
||||
.ВключитьФайл("features")
|
||||
.ВключитьФайл("tasks")
|
||||
.ВключитьФайл("v8config.json")
|
||||
|
127
tests/ПроверкаСцераниевОбработки.os
Normal file
127
tests/ПроверкаСцераниевОбработки.os
Normal file
@ -0,0 +1,127 @@
|
||||
#Использовать asserts
|
||||
#Использовать logos
|
||||
#Использовать tempfiles
|
||||
|
||||
Перем юТест;
|
||||
Перем Лог;
|
||||
Перем МенеджерВременныхФайлов;
|
||||
|
||||
// Основная точка входа
|
||||
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
|
||||
|
||||
юТест = ЮнитТестирование;
|
||||
|
||||
ВсеТесты = Новый Массив;
|
||||
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурВызываетИсключение");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурОбработетФайл");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурНеОбработетНесуществующийФайл");
|
||||
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурНеОбработетНеИсходник");
|
||||
|
||||
Возврат ВсеТесты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПередЗапускомТеста() Экспорт
|
||||
|
||||
ВремТестер = Новый Тестер;
|
||||
Лог = Логирование.ПолучитьЛог(ВремТестер.ИмяЛога());
|
||||
|
||||
ВключитьПоказОтладки();
|
||||
|
||||
МенеджерВременныхФайлов = Новый МенеджерВременныхФайлов;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеЗапускаТеста() Экспорт
|
||||
|
||||
МенеджерВременныхФайлов.Удалить();
|
||||
МенеджерВременныхФайлов = Неопределено;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурВызываетИсключение() Экспорт
|
||||
|
||||
ОбъектСценария = ПолучитьСценарийОбработкиПроверкаДублейПроцедурИФункций();
|
||||
Файл = Новый Файл(ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаДублейПроцедурНегативныйТест.bsl"));
|
||||
|
||||
ТестДолжен_ПроверитьЧтоВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, "обнаружены неуникальные имена методов");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестДолжен_ПроверитьЧтоВызываетсяИсключениеСТекстом(ОбъектСценария, Файл, ТекстИсключения) Экспорт
|
||||
|
||||
ДополнительныеНастройки = ПолучитьДополнительныеНастройки();
|
||||
ПараметрыМетода = Новый Массив;
|
||||
|
||||
ПараметрыМетода.Добавить(Файл);
|
||||
ПараметрыМетода.Добавить(Файл.Путь);
|
||||
ПараметрыМетода.Добавить(ДополнительныеНастройки);
|
||||
|
||||
Ожидаем.Что(ОбъектСценария).Метод("ОбработатьФайл", ПараметрыМетода).ВыбрасываетИсключение(ТекстИсключения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурОбработетФайл() Экспорт
|
||||
|
||||
Файл = Новый Файл(ОбъединитьПути(КаталогТестовыхФикстур(), "ПроверкаДублейПроцедурПоложительныйТест.bsl"));
|
||||
ОбъектСценария = ПолучитьСценарийОбработкиПроверкаДублейПроцедурИФункций();
|
||||
Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ПолучитьДополнительныеНастройки());
|
||||
|
||||
Ожидаем.Что(Результат, Истина).ЭтоИстина();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурНеОбработетНесуществующийФайл() Экспорт
|
||||
|
||||
Файл = Новый Файл(ПолучитьИмяВременногоФайла("bsl"));
|
||||
ОбъектСценария = ПолучитьСценарийОбработкиПроверкаДублейПроцедурИФункций();
|
||||
Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ПолучитьДополнительныеНастройки());
|
||||
|
||||
Ожидаем.Что(Результат, Истина).ЭтоЛожь();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестДолжен_ПроверитьЧтоСценарийПроверкиДублейПроцедурНеОбработетНеИсходник() Экспорт
|
||||
|
||||
Файл = Новый Файл(МенеджерВременныхФайлов.СоздатьФайл("xml"));
|
||||
ОбъектСценария = ПолучитьСценарийОбработкиПроверкаДублейПроцедурИФункций();
|
||||
Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, ПолучитьДополнительныеНастройки());
|
||||
|
||||
Ожидаем.Что(Результат, Истина).ЭтоЛожь();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьСценарийОбработкиПроверкаДублейПроцедурИФункций()
|
||||
|
||||
Сценарий = ОбъединитьПути(КаталогИсходников(), "src", "СценарииОбработки", "ПроверкаДублейПроцедурИФункций.os");
|
||||
ОбъектСценария = ЗагрузитьСценарий(Сценарий);
|
||||
|
||||
Возврат ОбъектСценария;
|
||||
КонецФункции
|
||||
|
||||
Процедура ВключитьПоказОтладки()
|
||||
Лог.УстановитьУровень(УровниЛога.Отладка);
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыключитьПоказОтладки()
|
||||
Лог.УстановитьУровень(УровниЛога.Информация);
|
||||
КонецПроцедуры
|
||||
|
||||
Функция КаталогТестовыхФикстур()
|
||||
Возврат ОбъединитьПути(КаталогИсходников(), "fixtures");
|
||||
КонецФункции
|
||||
|
||||
Функция КаталогИсходников()
|
||||
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "..");
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьДополнительныеНастройки()
|
||||
|
||||
УправлениеНастройками = Новый НастройкиРепозитория(ТекущийКаталог());
|
||||
ДополнительныеНастройки = Новый Структура("Лог, УправлениеНастройками", Лог, УправлениеНастройками);
|
||||
Лог = Лог;
|
||||
|
||||
Возврат ДополнительныеНастройки;
|
||||
|
||||
КонецФункции
|
@ -6,6 +6,7 @@
|
||||
"ДобавлениеПробеловПередКлючевымиСловами.os",
|
||||
"ЗапретИспользованияПерейти.os",
|
||||
"КорректировкаXMLФорм.os",
|
||||
"ПроверкаДублейПроцедурИФункций.os",
|
||||
"ПроверкаКорректностиОбластей.os",
|
||||
"РазборОбычныхФормНаИсходники.os",
|
||||
"РазборОтчетовОбработокРасширений.os",
|
||||
|
Loading…
Reference in New Issue
Block a user