Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit d483c24
Author: Artur Ayukhanov <[email protected]>
Date:   Thu Feb 1 14:23:46 2024 +0300

    версия 1.14.0

commit e1753ac
Author: Vladimir Nadulich <[email protected]>
Date:   Sat Dec 18 15:20:45 2021 +0300

    Изменены приоритеты реализаций шагов

commit c6415db
Author: Artur Ayukhanov <[email protected]>
Date:   Sat Apr 2 16:03:59 2022 +0300

    исправил падения фичи

commit e9c0fae
Author: Artur Ayukhanov <[email protected]>
Date:   Sat Apr 2 15:52:15 2022 +0300

    мелкий рефакторинг

commit 6c91f64
Author: Artur Ayukhanov <[email protected]>
Date:   Mon Mar 28 21:09:44 2022 +0300

    Дока на 2 пропущенных метода

commit eb05e22
Merge: 8e7c0e7 931c7cc
Author: Artur Ayukhanov <[email protected]>
Date:   Sat Mar 26 12:11:12 2022 +0300

    Merge branch 'develop' of https://github.com/artbear/1bdd into develop

commit 8e7c0e7
Author: Artur Ayukhanov <[email protected]>
Date:   Sat Mar 26 12:11:08 2022 +0300

    Требуется версия 1скрипт не ниже 1.7

    - избавился от класса Консоль

commit 931c7cc
Author: Artur Ayukhanov <[email protected]>
Date:   Sat Dec 18 00:13:12 2021 +0300

    ПоказатьПроблемныеСценарии в задаче тестирования

    дополнение к #164

commit b059217
Author: Artur Ayukhanov <[email protected]>
Date:   Sat Nov 20 17:38:14 2021 +0300

    ошибка в логе при показе проблемных сценариев

commit da65e17
Author: Artur Ayukhanov <[email protected]>
Date:   Sat Nov 20 17:28:19 2021 +0300

    Показ проблемных сценариев в конце лога

commit a976e61
Author: Artur Ayukhanov <[email protected]>
Date:   Sat Nov 20 14:54:35 2021 +0300

    новые шаги по содержимому файлов

     - я показываю текст файла "СпециальныйКаталог/ФайлСТекстом.txt"
    - я показываю 2 строки файла "СпециальныйКаталог/ФайлСТекстом.txt"

commit cac3adf
Author: Artur Ayukhanov <[email protected]>
Date:   Thu Sep 16 20:10:12 2021 +0300

    ошибка в СтрШаблон

    замечания Сонара
  • Loading branch information
artbear committed Feb 1, 2024
1 parent 408e906 commit c0c2cf1
Show file tree
Hide file tree
Showing 12 changed files with 352 additions and 231 deletions.
31 changes: 18 additions & 13 deletions docs/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@

- Если переданная строка используется не как путь, тогда ищется полное соответствие строки и ключа контекста
- Например, если есть переменная контекста `СпециальнаяПеременная`
- тогда строка `СпециальнаяПеременная` будет подменена на значение из контекста,
- тогда строка `СпециальнаяПеременная` будет подменена на значение из контекста,
- а строка `Текст СпециальнаяПеременная` уже не будет заменена.

Программное API описано в [API подстановки переменных из контекста в строках и путях к файлам](#api-подстановки-переменных-из-контекста-в-строках-и-путях-к-файлам)
Expand Down Expand Up @@ -185,26 +185,31 @@
- `Тогда Файл "СпециальныйКаталог/ФайлСТекстом.txt" содержит "178"`

- `Когда Я создаю файл "СпециальныйКаталог/ФайлСТекстом.txt" с текстом`
- `Тогда я показываю текст файла "СпециальныйКаталог/ФайлСТекстом.txt"`
- `И я показываю 2 строки файла "СпециальныйКаталог/ФайлСТекстом.txt"`

- `Тогда Файл "folder0/file01.txt" содержит "Текст файла"`
- `И Файл "folder0/file01.txt" не содержит "Не существующий текст"`

- `Тогда Файл "folder0/file01.txt" в рабочем каталоге содержит "Текст файла"`
- `И Файл "folder0/file01.txt" в рабочем каталоге не содержит "Не существующий текст"`

Пример шагов:
```gherkin
Когда Я создаю файл "СпециальныйКаталог/ФайлСТекстом.txt" с текстом
"""
строка 1
строка 2
"""
Тогда я показываю текст файла "СпециальныйКаталог/ФайлСТекстом.txt"
И я показываю 2 строки файла "СпециальныйКаталог/ФайлСТекстом.txt"
Тогда Файл "СпециальныйКаталог/ФайлСТекстом.txt" содержит
"""
строка 1
строка 2
"""
```

- `Тогда Файл "folder0/file01.txt" содержит "Текст файла"`
- `И Файл "folder0/file01.txt" не содержит "Не существующий текст"`

- `Тогда Файл "folder0/file01.txt" в рабочем каталоге содержит "Текст файла"`
- `И Файл "folder0/file01.txt" в рабочем каталоге не содержит "Не существующий текст"`

<a id="markdown-копирование-файлов-и-каталогов" name="копирование-файлов-и-каталогов"></a>
#### Копирование файлов и каталогов

Expand All @@ -225,7 +230,7 @@

- `Тогда Каталог "СпециальныйКаталог/folder0" существует`
- или `Тогда Каталог "СпециальныйКаталог/folder0/folder01" существует`

- `И Каталог "СпециальныйКаталог/folder0/folder01-unknown" не существует`

- `Тогда Файл "СпециальныйКаталог/file01.txt" существует`
Expand Down Expand Up @@ -292,7 +297,7 @@
### Подготовка рабочего каталога и тестовой ИБ

- `я подготовил репозиторий и рабочий каталог проекта`

фактически выполняются следующие шаги
- `Дано я выключаю отладку лога с именем "oscript.app.vanessa-runner"`
- `И Я очищаю параметры команды "oscript" в контексте`
Expand All @@ -303,14 +308,14 @@
- `И Я сохраняю каталог проекта в контекст`

- `я подготовил рабочую базу проекта "./build/ib" по умолчанию`

фактически выполняются следующие шаги
- `я подготовил репозиторий и рабочий каталог проекта` - шаг расшифрован выше
- `И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог`
- `Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --ibconnection /F%1"`
- где `%1` заменяется на путь к ИБ, указанный в параметре шага "./build/ib"
- `Я очищаю параметры команды "oscript" в контексте`

- `я инициализирую репозиторий git в рабочем каталоге`

### Сборка пакета
Expand Down Expand Up @@ -404,7 +409,7 @@
// Важно: проверяется только полное совпадение строки и имени переменной контекста, частичное вхождение не проверяется!
//
// Параметры:
// Значение - Любой тип -
// Значение - Любой тип -
//
// Возвращаемое значение:
// Любой тип - результат выполнения
Expand All @@ -425,7 +430,7 @@
// Если переменной контекста нет или задан обычный путь файла, возвращается переданное значение без изменения
//
// Важно: подменяется только первый элемент пути, в середине и конце пути подмены не делается
//
//
// Финальные разделители строк устанавливаются в зависимости от ОС
//
// Параметры:
Expand Down
24 changes: 12 additions & 12 deletions features/core/junit-xml.feature
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@

Тогда проверка поведения фичи "БезПараметров" с передачей параметра "-junit-out ./test-report.xml" закончилась с кодом возврата 0
И файл "./test-report.xml" существует
И файл "./test-report.xml" содержит xml
И файл "./test-report.xml" содержит
"""
<testsuites name="1bdd" time="0" tests="1" failures="0" skipped="0">
<testsuite name="Пустой функционал">
<properties />
<testcase classname="Ничего не делаем" name="я ничего не делаю" status="passed" />
<testcase classname="Ничего не делаем" name="ничего не происходит" status="passed" />
<properties/>
<testcase classname="Ничего не делаем" name="я ничего не делаю" status="passed"/>
<testcase classname="Ничего не делаем" name="ничего не происходит" status="passed"/>
</testsuite>
</testsuites>
"""
Expand All @@ -28,33 +28,33 @@

Тогда проверка поведения фичи "ПадающийШаг" с передачей параметра "-junit-out ./test-report.xml" закончилась с кодом возврата 2
И файл "./test-report.xml" существует
И файл "./test-report.xml" содержит xml
И файл "./test-report.xml" содержит
"""
<testsuites name="1bdd" time="0" tests="1" failures="1" skipped="0">
<testsuite name="Выполнение фич">
<properties />
<properties/>
<testcase classname="После ошибочного шага следующие шаги сценария не выполняются" name="я запускаю падающий шаг с параметром &quot;Первый падающий шаг&quot;" status="failure">
<failure message="
"""
И файл "./test-report.xml" содержит
И файл "./test-report.xml" содержит
"""
ПадающийШаг.os / Ошибка в строке: 21 / ЯЗапускаюПадающийШагСПараметром-Первый падающий шаг}
"""
И файл "./test-report.xml" содержит xml
И файл "./test-report.xml" содержит
"""
; ВызватьИсключение СтрШаблон(&quot;ЯЗапускаюПадающийШагСПараметром-%1&quot;, ПарамСтрока);&#xD;" />
; ВызватьИсключение СтрШаблон(&quot;ЯЗапускаюПадающийШагСПараметром-%1&quot;, ПарамСтрока);&#xD;"/>
"""

Сценарий: Получение отчета в формате JUnit-xml для нереализованного теста

Тогда проверка поведения фичи "НеРеализованныйШаг" с передачей параметра "-junit-out ./test-report.xml" закончилась с кодом возврата 1
И файл "./test-report.xml" существует
И файл "./test-report.xml" содержит xml
И файл "./test-report.xml" содержит
"""
<testsuites name="1bdd" time="0" tests="1" failures="0" skipped="1">
<testsuite name="Выполнение фич">
<properties />
<testcase classname="После нереализованного шага следующие шаги сценария не выполняются" name="я запускаю нереализованный шаг" status="skipped" />
<properties/>
<testcase classname="После нереализованного шага следующие шаги сценария не выполняются" name="я запускаю нереализованный шаг" status="skipped"/>
</testsuite>
</testsuites>
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# language: ru

Функционал: Выполнение фич
Как Разработчик
Я Хочу видеть ошибочные сценарии в конце лога выполнения

Сценарий: Показ имени сценария, в котором есть нереализованный шаг
Когда я подготовил тестовый каталог для фич
И установил тестовый каталог как текущий
И я создал файл фичи "НесуществующийШаг" с текстом
"""
# language: ru
Функционал: Просто функционал
Сценарий: Просто сценарий
Тогда выполняется несуществующий шаг
"""

Тогда проверка поведения фичи "НесуществующийШаг" закончилась с кодом возврата 1
И в лог-файле запуска продукта есть строка
"""
Проблемные сценарии:
Функциональность Просто функционал
Сценарий Просто сценарий
Шаг выполняется несуществующий шаг - Не реализован
"""
И в лог-файле запуска продукта есть строка "1 Сценарий ( 0 Пройден, 1 Не реализован, 0 Сломался, 0 Не выполнялся )"
И в лог-файле запуска продукта есть строка "1 Шаг ( 0 Пройден, 1 Не реализован, 0 Сломался, 0 Не выполнялся )"
7 changes: 4 additions & 3 deletions features/lib/step_definitions/opm-build.os
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,10 @@

ВерсияСобранногоПакета = СокрЛП(ВерсияСобранногоПакета);

СообщениеОшибки = СтрШаблон("Ожидали, что установленная версия <%1> равна версии из исходников проекта");
Если УстановленнаяВерсияПакета <> ВерсияСобранногоПакета И
Найти(УстановленнаяВерсияПакета, ВерсияСобранногоПакета) = Неопределено Тогда
СообщениеОшибки = СтрШаблон("Ожидали, что установленная версия <%1> равна версии из исходников проекта",
УстановленнаяВерсияПакета);
Если УстановленнаяВерсияПакета <> ВерсияСобранногоПакета
И Найти(УстановленнаяВерсияПакета, ВерсияСобранногоПакета) = Неопределено Тогда

ВызватьИсключение СообщениеОшибки;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -446,23 +446,24 @@
КонецПроцедуры

Функция ЭтоКомандаОСкрипт(Знач Команда)
Результат = Ложь;

СТРОКА_OSCRIPT = "oscript";
ПутьПриложения = СокрЛП(Команда.ПолучитьКоманду());
ЗапускаемСкриптОСкрипт = Ложь;
Если НРег(ПутьПриложения) = СТРОКА_OSCRIPT Тогда
ЗапускаемСкриптОСкрипт = Истина;
Результат = Истина;
Иначе
Если Найти(НРег(ПутьПриложения), СТРОКА_OSCRIPT) = 1 Тогда
ЗапускаемСкриптОСкрипт = Истина;
Результат = Истина;
Иначе
ФайлПриложения = Новый Файл(ПутьПриложения);
Если НРег(ФайлПриложения.ИмяБезРасширения) = СТРОКА_OSCRIPT Тогда
ЗапускаемСкриптОСкрипт = Истина;
Результат = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат ЗапускаемСкриптОСкрипт;
КонецФункции // ЭтоКомандаОСкрипт()
Возврат Результат;
КонецФункции

Функция ЗаданПараметрСтатистикиДляКомандыОСкрипт(Знач Команда, Знач КомандаСтатистики)
КомандаСтатистики = НРег(КомандаСтатистики);
Expand All @@ -473,7 +474,7 @@
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции // ЗаданПараметрСтатистикиДляКомандыОСкрипт()
КонецФункции

Процедура ПроверитьРавенство(Знач Значение1, Знач Значение2, Знач ПроверятьРавенство, Знач СообщениеОшибки)
Значение1 = БДД.ЗначениеСУчетомПеременныхКонтекста(Значение1);
Expand Down
Loading

0 comments on commit c0c2cf1

Please sign in to comment.