Skip to content

Commit bbf4d58

Browse files
committed
Отрефакторил тесты
1 parent db26917 commit bbf4d58

7 files changed

+130
-79
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
2+
3+
#Использовать asserts
4+
5+
Перем БДД; //контекст фреймворка 1bdd
6+
7+
// Метод выдает список шагов, реализованных в данном файле-шагов
8+
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
9+
БДД = КонтекстФреймворкаBDD;
10+
11+
ВсеШаги = Новый Массив;
12+
13+
ВсеШаги.Добавить("ВРабочемКаталогеСодержатсяИсходникиОбработкиВФормате");
14+
ВсеШаги.Добавить("ВПодпапкеРабочегоКаталогаСодержатсяИсходникиОбработкиВФормате");
15+
16+
Возврат ВсеШаги;
17+
КонецФункции
18+
19+
// Реализация шагов
20+
21+
// Процедура выполняется перед запуском каждого сценария
22+
Процедура ПередЗапускомСценария(Знач Узел) Экспорт
23+
24+
КонецПроцедуры
25+
26+
// Процедура выполняется после завершения каждого сценария
27+
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт
28+
29+
КонецПроцедуры
30+
31+
32+
//в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
33+
Процедура ВПодпапкеРабочегоКаталогаСодержатсяИсходникиОбработкиВФормате(Знач Подпапка, Знач ИмяОбработки, Знач Формат) Экспорт
34+
Если Формат = "v8reader" Тогда
35+
ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки);
36+
ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаV8reader());
37+
ИначеЕсли Формат = "designer" Тогда
38+
ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки);
39+
ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки));
40+
КонецЕсли;
41+
КонецПроцедуры
42+
43+
//в рабочем каталоге содержатся исходники обработки "Fixture" в формате "v8reader"
44+
Процедура ВРабочемКаталогеСодержатсяИсходникиОбработкиВФормате(Знач ИмяОбработки, Знач Формат) Экспорт
45+
Если Формат = "v8reader" Тогда
46+
ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаV8reader());
47+
ИначеЕсли Формат = "designer" Тогда
48+
ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки));
49+
КонецЕсли;
50+
КонецПроцедуры
51+
52+
//{ Служебные методы
53+
54+
Функция РабочийКаталог()
55+
Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог");
56+
КонецФункции
57+
58+
Функция КаталогПроекта()
59+
Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта");
60+
КонецФункции
61+
62+
Процедура ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходников)
63+
ПроверяемСуществованиеФайлаВРабочемКаталоге(ИмяОбработки, Ложь);
64+
Для каждого КлючИЗначение из ОписаниеИсходников Цикл
65+
ПроверяемСуществованиеФайлаВРабочемКаталоге(ОбъединитьПути(ИмяОбработки, КлючИЗначение.Ключ), КлючИЗначение.Значение);
66+
КонецЦикла;
67+
КонецПроцедуры
68+
69+
Процедура ПроверяемСуществованиеФайлаВРабочемКаталоге(ПутьКФайлу, ЭтоФайл)
70+
Файл = Новый Файл(ОбъединитьПути(РабочийКаталог(), ПутьКФайлу));
71+
Ожидаем.Что(Файл.Существует(), ПутьКФайлу + " должен существовать, а это не так!").ЭтоИстина();
72+
СтрокаОшибки = СтрШаблон("%1: значение Файл.ЭтоФайл() должно %2, а это не так!", ПутьКФайлу, ЭтоФайл);
73+
Ожидаем.Что(Файл.ЭтоФайл() = ЭтоФайл, СтрокаОшибки).ЭтоИстина();
74+
КонецПроцедуры
75+
76+
Функция ОписаниеИсходниковФорматаV8reader()
77+
Описание = Новый Соответствие;
78+
Описание.Вставить("renames.txt", Истина);
79+
Описание.Вставить("Form", Ложь);
80+
Описание.Вставить("Макеты", Ложь);
81+
Описание.Вставить("und", Ложь);
82+
Возврат Описание;
83+
КонецФункции
84+
85+
Функция ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки)
86+
Описание = Новый Соответствие;
87+
Описание.Вставить(ИмяОбработки + ".xml", Истина);
88+
Описание.Вставить(ИмяОбработки, Ложь);
89+
Описание.Вставить(ОбъединитьПути(ИмяОбработки, "Forms"), Ложь);
90+
Описание.Вставить(ОбъединитьПути(ИмяОбработки, "Templates"), Ложь);
91+
Возврат Описание;
92+
КонецФункции
93+
94+
//}

features/step_definitions/РепозиторийGit.os

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
1+
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
22
#Использовать 1commands
33
#Использовать asserts
44

@@ -12,6 +12,7 @@
1212
ВсеШаги = Новый Массив;
1313

1414
ВсеШаги.Добавить("ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами");
15+
ВсеШаги.Добавить("ВРабочемКаталогеУстановленPrecommit");
1516
ВсеШаги.Добавить("ФайлХукаВРепозиторииРабочегоКаталогаСодержит");
1617

1718
Возврат ВсеШаги;
@@ -66,6 +67,17 @@
6667
БДД.ВыполнитьШаг(СтрокаШага);
6768
КонецПроцедуры
6869

70+
//в рабочем каталоге установлен precommit
71+
Процедура ВРабочемКаталогеУстановленPrecommit() Экспорт
72+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks");
73+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8Reader");
74+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools");
75+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8Reader/V8Reader.epf");
76+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/pre-commit");
77+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8files-extractor.os");
78+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools/v8unpack.exe");
79+
КонецПроцедуры
80+
6981
//{ Служебные методы
7082

7183
Функция РабочийКаталог()
@@ -76,9 +88,14 @@
7688
Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта");
7789
КонецФункции
7890

91+
Процедура ПроверяемСуществованиеФайлаВРабочемКаталоге(ПутьКФайлу)
92+
Файл = Новый Файл(ОбъединитьПути(РабочийКаталог(), ПутьКФайлу));
93+
Ожидаем.Что(Файл.Существует(), ПутьКФайлу + " должен существовать, а это не так!").ЭтоИстина();
94+
КонецПроцедуры
95+
7996
Функция ЗаменитьШаблоныВПараметрахКоманды(Знач ПараметрыКоманды)
80-
Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", ЭкранированныйПуть(БДД.КаталогПроверяемогоПроекта()));
81-
Рез = СтрЗаменить(Рез, "<РабочийКаталог>", ЭкранированныйПуть(БДД.ПолучитьИзКонтекста("РабочийКаталог")));
97+
Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", ЭкранированныйПуть(КаталогПроекта()));
98+
Рез = СтрЗаменить(Рез, "<РабочийКаталог>", ЭкранированныйПуть(РабочийКаталог()));
8299
Возврат Рез;
83100
КонецФункции
84101

@@ -90,4 +107,4 @@
90107

91108
//}
92109

93-
Лог = Логирование.ПолучитьЛог("bdd");
110+
Лог = Логирование.ПолучитьЛог("bdd");

features/РазборкаНаИсходники.feature

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,18 @@
1313

1414
Сценарий: Разборка файла из заданной папки
1515
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>"
16-
Тогда в рабочем каталоге существует каталог "Fixture"
17-
И в подкаталоге "Fixture" рабочего каталога существует файл "renames.txt"
18-
И в подкаталоге "Fixture" рабочего каталога существует каталог "Form"
19-
И в подкаталоге "Fixture" рабочего каталога существует каталог "Макеты"
20-
И в подкаталоге "Fixture" рабочего каталога существует каталог "und"
16+
Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "v8reader"
2117

2218
Сценарий: Разборка макета из заданной папки
2319
Дано я создаю каталог "1" в рабочем каталоге
2420
И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога
2521
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1"
26-
Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt"
22+
Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt"
2723

2824
Сценарий: Разборка каталога с вложенными каталогами
2925
Дано я создаю каталог "bin" в рабочем каталоге
3026
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
3127
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
3228
И я создаю каталог "src" в рабочем каталоге
3329
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src"
34-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
35-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
36-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
37-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
38-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
30+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"

features/РазборкаНаИсходникиGit.feature

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,7 @@
1919
И я создаю каталог "src" в рабочем каталоге
2020
И я выполняю команду "git" с параметрами "add -A ."
2121
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
22-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
23-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
24-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
25-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
26-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
22+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
2723
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
2824

2925
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша
@@ -33,11 +29,7 @@
3329
И я создаю каталог "src" в рабочем каталоге
3430
И я выполняю команду "git" с параметрами "add -A ."
3531
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
36-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
37-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
38-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
39-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
40-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
32+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
4133
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
4234

4335
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с указанием информационной базы
@@ -48,9 +40,5 @@
4840
И я создаю каталог "src" в рабочем каталоге
4941
И я выполняю команду "git" с параметрами "add -A ."
5042
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
51-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
52-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
53-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
54-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
55-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
43+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
5644
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"

0 commit comments

Comments
 (0)