-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6 from silverbulleters/feature/testing
Тестирование
- Loading branch information
Showing
8 changed files
with
272 additions
and
49 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 |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: Сборка | ||
|
||
on: | ||
push: | ||
branches: | ||
- develop | ||
- master | ||
pull_request: | ||
|
||
jobs: | ||
build: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
oscript_version: [1.4.0] | ||
os: [ubuntu-latest, windows-latest, macOS-latest] | ||
name: Сборка для ${{ matrix.oscript_version }} | ||
steps: | ||
- name: Последняя версия проекта | ||
uses: actions/checkout@v1 | ||
- name: Установка OneScript | ||
uses: otymko/setup-onescript@master | ||
with: | ||
version: ${{ matrix.oscript_version }} | ||
- name: Загрузка зависимостей | ||
run: opm install cli && opm install logos && opm install 1bdd && opm install 1testrunner && opm install asserts && opm install fs | ||
- name: Запуск тестов | ||
run: opm run test | ||
- name: Сборка | ||
run: opm build | ||
- name: Формирование артефактов | ||
if: matrix.os == 'ubuntu-latest' | ||
uses: actions/upload-artifact@master | ||
with: | ||
name: git2sonar.ospx | ||
path: ./git2sonar*.ospx |
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 @@ | ||
build | ||
out | ||
build | ||
oscript_modules |
Empty file.
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
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,87 @@ | ||
#Использовать "../src/cmd" | ||
#Использовать "../src/core" | ||
#Использовать 1bdd | ||
#Использовать 1testrunner | ||
#Использовать fs | ||
|
||
Функция ПрогнатьТесты() | ||
|
||
Тестер = Новый Тестер; | ||
|
||
ПутьКТестам = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "tests"); | ||
ПутьКОтчетуJUnit = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "out"); | ||
|
||
ФС.ОбеспечитьКаталог(ПутьКОтчетуJUnit); | ||
|
||
ПутьКОтчетуJUnit = Новый Файл(ПутьКОтчетуJUnit).ПолноеИмя; | ||
|
||
РезультатТестирования = Тестер.ТестироватьКаталог( | ||
Новый Файл(ПутьКТестам), | ||
Новый Файл(ПутьКОтчетуJUnit) | ||
); | ||
|
||
Успешно = РезультатТестирования = 0; | ||
|
||
Возврат Успешно; | ||
КонецФункции // ПрогнатьТесты() | ||
|
||
Функция ПрогнатьФичи(Знач ПутьФич = "features") | ||
|
||
ПутьОтчетаJUnit = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "out", "bdd-log.xml"); | ||
|
||
КаталогФич = ОбъединитьПути(".", ПутьФич); | ||
|
||
Файл_КаталогФич = Новый Файл(КаталогФич); | ||
|
||
ИсполнительБДД = Новый ИсполнительБДД; | ||
РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); | ||
ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); | ||
|
||
СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; | ||
Если РезультатыВыполнения.Строки.Количество() > 0 Тогда | ||
|
||
СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); | ||
|
||
ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); | ||
КонецЕсли; | ||
|
||
ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; | ||
ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); | ||
|
||
Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 | ||
|", ИтоговыйРезультатВыполнения, ПутьФич)); | ||
|
||
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; | ||
КонецФункции // ПрогнатьФичи() | ||
|
||
// основной код | ||
|
||
ТекКаталог = ТекущийКаталог(); | ||
|
||
Попытка | ||
ТестыПрошли = ПрогнатьТесты(); | ||
Исключение | ||
ТестыПрошли = Ложь; | ||
Сообщить(СтрШаблон("Тесты через 1testrunner выполнены неудачно | ||
|%1 | ||
|%2", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), ОписаниеОшибки())); | ||
КонецПопытки; | ||
|
||
УстановитьТекущийКаталог(ТекКаталог); | ||
|
||
Попытка | ||
ФичиПрошли = ПрогнатьФичи("features"); | ||
Исключение | ||
ФичиПрошли = Ложь; | ||
Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно | ||
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); | ||
КонецПопытки; | ||
|
||
Сообщить(СтрШаблон("Результат прогона тестов <%1> | ||
|", ТестыПрошли)); | ||
Сообщить(СтрШаблон("Результат прогона основных фич <%1> | ||
|", ФичиПрошли)); | ||
|
||
Если НЕ ТестыПрошли Или НЕ ФичиПрошли Тогда | ||
ВызватьИсключение "Тестирование завершилось неудачно!"; | ||
КонецЕсли; |
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,78 @@ | ||
#Использовать "../src/cmd" | ||
#Использовать "../src/core" | ||
#Использовать asserts | ||
|
||
Перем СсылкаНаПроект; | ||
Перем КаталогПроекта; | ||
|
||
&Тест | ||
Процедура ПроверитьДатуДляИстории() Экспорт | ||
|
||
Дата = Дата(2020, 1, 1); | ||
ДатаДляИстории = УправлениеАнализом.ДатаДляИстории(Дата); | ||
|
||
Ожидаем.Что(ДатаДляИстории).Равно("2020-01-01"); | ||
|
||
КонецПроцедуры | ||
|
||
&Тест | ||
Процедура ПроверитьСпискаКоммитов() Экспорт | ||
|
||
КлонироватьПроект(СсылкаНаПроект); | ||
|
||
// проверяем на ветке master | ||
Ветка = "master"; | ||
ДатаСреза = УправлениеАнализом.ДатаДляИстории(Дата(2020, 9, 1)); | ||
КоллекцияКоммитов = УправлениеАнализом.СписокКоммитов(КаталогПроекта, ДатаСреза, Ветка); | ||
|
||
Ожидаем.Что(КоллекцияКоммитов.Количество()).Больше(1); | ||
Коммит1 = КоллекцияКоммитов[0]; | ||
Ожидаем.Что(Коммит1.Коммит).Равно("4169be4"); | ||
|
||
Коммит2 = КоллекцияКоммитов[1]; | ||
Ожидаем.Что(Коммит2.Коммит).Равно("e155496"); | ||
|
||
ДатаСреза = УправлениеАнализом.ДатаДляИстории(Дата(2020, 9, 10)); | ||
КоллекцияКоммитов = УправлениеАнализом.СписокКоммитов(КаталогПроекта, ДатаСреза, Ветка); | ||
Ожидаем.Что(КоллекцияКоммитов.Количество()).Больше(0); | ||
|
||
Коммит1 = КоллекцияКоммитов[0]; | ||
Ожидаем.Что(Коммит1.Коммит).Равно("e155496"); | ||
|
||
КонецПроцедуры | ||
|
||
&Тест | ||
Процедура ПроверитьВходящиеПараметрыКоманды() Экспорт | ||
|
||
КлонироватьПроект(СсылкаНаПроект); | ||
|
||
НастройкиЗапуска = Новый Структура; | ||
НастройкиЗапуска.Вставить("ПутьДоКаталогаПроекта", КаталогПроекта); | ||
НастройкиЗапуска.Вставить("КаталогиИсходныхКодов", "src"); | ||
НастройкиЗапуска.Вставить("КлючПроекта", "repo"); | ||
НастройкиЗапуска.Вставить("АдресСонара", "http://localhost:9000"); | ||
НастройкиЗапуска.Вставить("ТокенСонара", "d91e860e57084ad681d1952d407fb343f6f504e3"); | ||
НастройкиЗапуска.Вставить("ДатаАнализа", ТекущаяДата()); | ||
НастройкиЗапуска.Вставить("ВеткаПроекта", "master"); | ||
|
||
Отказ = УправлениеАнализом.ВходящиеНастройкиКомандыУказаныКорректно(НастройкиЗапуска); | ||
Ожидаем.Что(Отказ).ЕстьЛожь(); | ||
|
||
НастройкиЗапуска.Вставить("ПутьДоКаталогаПроекта", "123"); | ||
Отказ = УправлениеАнализом.ВходящиеНастройкиКомандыУказаныКорректно(НастройкиЗапуска); | ||
Ожидаем.Что(Отказ).ЕстьИстина(); | ||
|
||
КонецПроцедуры | ||
|
||
Процедура КлонироватьПроект(Ссылка) | ||
КомандаClone = Новый Команда(); | ||
КомандаClone.УстановитьКоманду("git"); | ||
КомандаClone.ДобавитьПараметр("clone"); | ||
КомандаClone.ДобавитьПараметр(Ссылка); | ||
КомандаClone.ДобавитьПараметр("repo"); | ||
КомандаClone.УстановитьРабочийКаталог("build"); | ||
КомандаClone.Исполнить(); | ||
КонецПроцедуры | ||
|
||
СсылкаНаПроект = "https://github.com/silverbulleters/git2sonar.git"; | ||
КаталогПроекта = "build/repo"; |