-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
38 changed files
with
1,275 additions
and
399 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
exec-log.txt | ||
exec.log | ||
gen.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
#!groovy | ||
node("slave") { | ||
def isUnix = isUnix(); | ||
|
||
stage "checkout" | ||
|
||
checkout scm | ||
if (isUnix) {sh 'git submodule update --init'} else {bat "git submodule update --init"} | ||
|
||
stage "checkout oscript-library for testrunner.os" | ||
checkout([$class: 'GitSCM', branches: [[name: '*/develop']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'oscript-library']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/EvilBeaver/oscript-library.git']]]) | ||
|
||
stage "testing with testrunner.os" | ||
|
||
command = """oscript ./oscript-library/tests/testrunner.os -runall ./tests xddReportPath ./tests""" | ||
if (isUnix) {sh "${command}"} else {bat "@chcp 1251 > nul \n${command}"} | ||
|
||
step([$class: 'JUnitResultArchiver', testResults: '**/tests/*.xml']) | ||
|
||
stage "exec all features" | ||
|
||
command = """oscript ./src/bdd.os ./features/core -out ./bdd-exec.log""" | ||
|
||
def errors = [] | ||
try{ | ||
if (isUnix){ | ||
sh "${command}" | ||
} else { | ||
bat "@chcp 1251 > nul \n${command}" | ||
} | ||
} catch (e) { | ||
errors << "BDD status : ${e}" | ||
} | ||
|
||
if (errors.size() > 0) { | ||
currentBuild.result = 'UNSTABLE' | ||
for (int i = 0; i < errors.size(); i++) { | ||
echo errors[i] | ||
} | ||
} | ||
|
||
step([$class: 'ArtifactArchiver', artifacts: '**/bdd-exec.log', fingerprint: true]) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# language: ru | ||
|
||
Функционал: Проверка хуков в файле шагов | ||
Как Разработчик | ||
Я Хочу, чтобы у меня была возможность использовать хуки ПередЗапускомСценария/ПослеЗапускаСценария в файлах шагов | ||
|
||
Контекст: Подготовка файла фичи "ПроверкаХуков" | ||
Когда я подготовил тестовый каталог для фич | ||
И установил тестовый каталог как текущий | ||
И я создал файл фичи "ПроверкаХуков" с текстом | ||
""" | ||
# language: ru | ||
Функционал: Проверка хуков | ||
Сценарий: Запись в файл журнала | ||
Тогда я записываю "ШагСценария" в файл журнала | ||
""" | ||
И я запустил генерацию шагов фичи "ПроверкаХуков" | ||
И я получил сгенерированный os-файл "ПроверкаХуков" в ожидаемом каталоге | ||
|
||
Сценарий: Проверка выполнения хуков | ||
|
||
Тогда проверка поведения фичи "ПроверкаХуков" закончилась с кодом возврата 1 | ||
И я подставил файл шагов фичи "ПроверкаХуков" из каталога "tests\fixtures" | ||
И проверка поведения фичи "ПроверкаХуков" закончилась с кодом возврата 0 | ||
И текст файла-журнала равен ";ПередЗапускомСценария-Запись в файл журнала;ШагСценария;ПослеЗапускаСценария-Запись в файл журнала" | ||
|
||
Контекст: Подготовка файла фичи "ПроверкаХуков" с наличием контекста | ||
Когда я подготовил тестовый каталог для фич | ||
И установил тестовый каталог как текущий | ||
И я создал файл фичи "ПроверкаХуков" с текстом | ||
""" | ||
# language: ru | ||
Функционал: Проверка хуков | ||
Контекст: шаги контекста | ||
Тогда я записываю "ШагКонтекста" в файл журнала | ||
Сценарий: Запись в файл журнала с контекстом | ||
Тогда я записываю "ШагСценария" в файл журнала | ||
""" | ||
И я запустил генерацию шагов фичи "ПроверкаХуков" | ||
И я получил сгенерированный os-файл "ПроверкаХуков" в ожидаемом каталоге | ||
|
||
Сценарий: Выполнение контекста после хука ПередЗапускомСценария | ||
|
||
Тогда проверка поведения фичи "ПроверкаХуков" закончилась с кодом возврата 1 | ||
И я подставил файл шагов фичи "ПроверкаХуков" из каталога "tests\fixtures" | ||
И проверка поведения фичи "ПроверкаХуков" закончилась с кодом возврата 0 | ||
И текст файла-журнала равен ";ПередЗапускомСценария-Запись в файл журнала с контекстом;ШагКонтекста;ШагСценария;ПослеЗапускаСценария-Запись в файл журнала с контекстом" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd | ||
|
||
#Использовать asserts | ||
|
||
Перем БДД; //контекст фреймворка 1bdd | ||
|
||
// Метод выдает список шагов, реализованных в данном файле-шагов | ||
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт | ||
БДД = КонтекстФреймворкаBDD; | ||
|
||
ВсеШаги = Новый Массив; | ||
|
||
ВсеШаги.Добавить("ЯПодставилФайлШаговФичиИзКаталога"); | ||
ВсеШаги.Добавить("ТекстФайла_ЖурналаРавен"); | ||
|
||
Возврат ВсеШаги; | ||
КонецФункции | ||
|
||
// Реализация шагов | ||
|
||
//я подставил файл шагов фичи "ПроверкаХуков" из каталога "tests\fixtures" | ||
Процедура ЯПодставилФайлШаговФичиИзКаталога(Знач ИмяФичи, Знач КаталогФичи) Экспорт | ||
ИмяИсполнителяШагов = ИмяФичи + ".os"; | ||
ИсходныйФайлИсполнителяШагов = Новый Файл(ОбъединитьПути(КаталогПроекта(), КаталогФичи, "step_definitions", ИмяИсполнителяШагов )); | ||
ФайлИсполнителяШагов = Новый Файл(ОбъединитьПути("step_definitions", ИмяИсполнителяШагов )); | ||
|
||
Если ФайлИсполнителяШагов.Существует() Тогда | ||
УдалитьФайлы(ФайлИсполнителяШагов.ПолноеИмя); | ||
КонецЕсли; | ||
КопироватьФайл(ИсходныйФайлИсполнителяШагов.ПолноеИмя, ФайлИсполнителяШагов.ПолноеИмя); | ||
КонецПроцедуры | ||
|
||
//текст файла-журнала равен "ПередЗапускомСценария;ШагСценария" | ||
Процедура ТекстФайла_ЖурналаРавен(Знач ТекстЖурнала) Экспорт | ||
СтрокаИзЖурнала = ПрочитатьЖурнал(); | ||
Ожидаем.Что(СтрокаИзЖурнала).Равно(ТекстЖурнала); | ||
КонецПроцедуры | ||
|
||
//TODO дубль с ПроверкаХуков.os | ||
Функция ПрочитатьЖурнал() | ||
ФайлЖурнала = Новый Файл(ПутьФайлаЖурнала()); | ||
Если ФайлЖурнала.Существует() Тогда | ||
|
||
ЧтениеТекста = Новый ЧтениеТекста; | ||
ЧтениеТекста.Открыть(ПутьФайлаЖурнала(),"UTF-8"); | ||
|
||
СтрокаИзЖурнала = ЧтениеТекста.ПрочитатьСтроку(); | ||
ЧтениеТекста.Закрыть(); | ||
Иначе | ||
СтрокаИзЖурнала = ""; | ||
КонецЕсли; | ||
Возврат СтрокаИзЖурнала; | ||
КонецФункции | ||
|
||
//TODO дубль с ПроверкаХуков.os | ||
Функция ПутьФайлаЖурнала() | ||
Возврат "ФайлЖурнала.log"; | ||
КонецФункции // ПутьФайлаЖурнала() | ||
|
||
Функция КаталогПроекта() Экспорт | ||
КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "..", ".."); | ||
Возврат КаталогПроекта; | ||
КонецФункции // ПолучитьКаталогИсходников() |
Oops, something went wrong.