Skip to content

Commit 08b4145

Browse files
committed
Merge branch 'develop'
2 parents f41c026 + ebc1006 commit 08b4145

File tree

5 files changed

+306
-21
lines changed

5 files changed

+306
-21
lines changed

readme.md

Lines changed: 123 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
[![Статус Порога Качества](https://sonar.openbsl.ru/api/project_badges/measure?project=1testrunner&metric=alert_status)](https://sonar.openbsl.ru/dashboard?id=1testrunner) [![Покрытие](https://sonar.openbsl.ru/api/project_badges/measure?project=1testrunner&metric=coverage)](https://sonar.openbsl.ru/dashboard?id=1testrunner) [![Строки кода](https://sonar.openbsl.ru/api/project_badges/measure?project=1testrunner&metric=ncloc)](https://sonar.openbsl.ru/dashboard?id=1testrunner) [![GitHub release](https://img.shields.io/github/release/artbear/1testrunner.svg)](https://github.com/artbear/1testrunner/releases) [![Build Status](http://build.oscript.io/buildStatus/icon?job=oscript-library/1testrunner/develop)](http://build.oscript.io/job/oscript-library/job/1testrunner/job/develop/) [![Build status](https://ci.appveyor.com/api/projects/status/7sgdu30u1yqbot4m?svg=true)](https://ci.appveyor.com/project/artbear/1testrunner) [![Build Status](https://travis-ci.org/artbear/1testrunner.svg)](https://travis-ci.org/artbear/1testrunner)
1+
[![Статус Порога Качества](https://sonar.openbsl.ru/api/project_badges/measure?project=1testrunner&metric=alert_status)](https://sonar.openbsl.ru/dashboard?id=1testrunner)
2+
[![Покрытие](https://sonar.openbsl.ru/api/project_badges/measure?project=1testrunner&metric=coverage)](https://sonar.openbsl.ru/dashboard?id=1testrunner)
3+
[![Строки кода](https://sonar.openbsl.ru/api/project_badges/measure?project=1testrunner&metric=ncloc)](https://sonar.openbsl.ru/dashboard?id=1testrunner)
4+
[![GitHub release](https://img.shields.io/github/release/artbear/1testrunner.svg)](https://github.com/artbear/1testrunner/releases)
5+
[![Build Status](http://build.oscript.io/buildStatus/icon?job=oscript-library/1testrunner/develop)](http://build.oscript.io/job/oscript-library/job/1testrunner/job/develop/)
6+
[![Build status](https://ci.appveyor.com/api/projects/status/7sgdu30u1yqbot4m?svg=true)](https://ci.appveyor.com/project/artbear/1testrunner)
7+
[![Build Status](https://travis-ci.org/artbear/1testrunner.svg)](https://travis-ci.org/artbear/1testrunner)
28

39
Организовано приемочное тестирование, аналогичное тестированию 1C в проекте [xUnitFor1C](https://github.com/xDrivenDevelopment/xUnitFor1C/wiki)
410

511
Основные принципы работы с тестами для скриптов OneScript описаны в [официальной документации OneScript](http://oscript.io/docs/page/testing)
612

713
# Использование тестирования (выдержка из документации OneScript)
814

9-
## Пример запуска всех приемочных тестов ###
15+
## Пример запуска всех приемочных тестов
1016

1117
Проверить все файлы текущего каталога из командной строки (с паузой, если есть упавшие тесты):
1218

@@ -20,9 +26,9 @@
2026

2127
cmd /c C:\Projects\1script\tests\start-all.cmd . notpause
2228

23-
## Запуск тестов ###
29+
## Запуск тестов
2430

25-
### Формат командной строки:
31+
### Формат командной строки
2632

2733
1testrunner [-command] testfile|testdir [test-id|test-number] [-option [optionData]]
2834

@@ -41,7 +47,7 @@
4147
* `xddReportPath` - формировать отчет тестирования в формате junit-xml
4248
* * [optionData] - полный или относительный путь к каталогу, где формировать файл *.xml
4349

44-
### Примеры:
50+
### Примеры
4551

4652
* `1testrunner -show testfile` - вывод списка тестов
4753
* `1testrunner testfile` или `1testrunner -run testfile` - запуск всех тестов из файла
@@ -51,7 +57,7 @@
5157
* `1testrunner -runall tests` - запуск всех тестов из каталога tests
5258
* `1testrunner -runall tests xddReportPath .` - запуск всех тестов из каталога tests и формирование отчета тестирования в формате junit-xml
5359

54-
### Формат скриптов-тестов
60+
### Формат скриптов-тестов (предопределенные методы)
5561

5662
Тесты находятся в каталоге `tests`
5763

@@ -65,21 +71,125 @@
6571
// основной метод для тестирования
6672
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
6773
68-
юТест = ЮнитТестирование;
74+
юТест = ЮнитТестирование;
6975
70-
ВсеТесты = Новый Массив;
76+
ВсеТесты = Новый Массив;
77+
ВсеТесты.Добавить("ТестДолжен_ПроверитьВерсию");
7178
72-
ВсеТесты.Добавить("ТестДолжен_ПроверитьВерсию");
79+
Возврат ВсеТесты;
80+
КонецФункции
81+
82+
// вызывается 1 раз перед выполнением всех тестов в файле
83+
// для инициализации окружения, общего для всех тестов
84+
//
85+
Процедура ПередЗапускомТестов() Экспорт
86+
87+
КонецПроцедуры
88+
89+
// вызывается перед выполнением каждого тестового метода
90+
// для выполнения общих действий перед каждым тестом
91+
//
92+
Процедура ПередЗапускомТеста() Экспорт
93+
94+
КонецПроцедуры
95+
96+
// вызывается после выполнения каждого тестового метода
97+
// для выполнения общих действий после каждого теста
98+
//
99+
Процедура ПослеЗапускаТеста() Экспорт
100+
101+
КонецПроцедуры
102+
103+
// вызывается 1 раз после выполнения всех тестов в файле
104+
// для выполнения общих действий после всех тестов, например, освобождения ресурсов
105+
//
106+
Процедура ПослеЗапускаТестов() Экспорт
73107
74-
Возврат ВсеТесты;
108+
КонецПроцедуры
109+
110+
Процедура ТестДолжен_ПроверитьВерсию() Экспорт
111+
Утверждения.ПроверитьРавенство("0.1", Версия());
112+
КонецПроцедуры
113+
114+
Функция Версия() Экспорт
115+
Возврат "0.1";
75116
КонецФункции
117+
```
118+
119+
### Формат скриптов-тестов (аннотированные методы)
120+
121+
Для удобства написания тестов возможно использование анотаций методов в файле тестов:
122+
123+
* &Инициализация
124+
* &Завершение
125+
* &Перед
126+
* &После
127+
* &Тест
128+
* &Параметры
76129

130+
См. пример.
131+
132+
```bsl
133+
#Использовать asserts
134+
135+
Перем юТест;
136+
137+
// вызывается 1 раз перед выполнением всех тестов в файле
138+
// для инициализации окружения, общего для всех тестов
139+
// возможно последовательное выполнение нескольких методов с аннотацией &Инициализация
140+
//
141+
&Инициализация
142+
Процедура ПередЗапускомТестов() Экспорт
143+
144+
юТест = ЮнитТестирование;
145+
146+
КонецПроцедуры
147+
148+
// вызывается перед выполнением каждого тестового метода
149+
// для выполнения общих действий перед каждым тестом
150+
// возможно последовательное выполнение нескольких методов с аннотацией &Перед
151+
//
152+
&Перед
153+
Процедура ПередЗапускомТеста() Экспорт
154+
155+
КонецПроцедуры
156+
157+
// вызывается после выполнения каждого тестового метода
158+
// для выполнения общих действий после каждого теста
159+
// возможно последовательное выполнение нескольких методов с аннотацией &После
160+
//
161+
&После
162+
Процедура ПослеЗапускаТеста() Экспорт
163+
164+
КонецПроцедуры
165+
166+
// вызывается 1 раз после выполнения всех тестов в файле
167+
// для выполнения общих действий после всех тестов, например, освобождения ресурсов
168+
// возможно последовательное выполнение нескольких методов с аннотацией &Завершение
169+
//
170+
&Завершение
171+
Процедура ПослеЗапускаТестов() Экспорт
172+
173+
КонецПроцедуры
174+
175+
&Тест
77176
Процедура ТестДолжен_ПроверитьВерсию() Экспорт
78-
Утверждения.ПроверитьРавенство("0.1", Версия());
177+
Утверждения.ПроверитьРавенство("0.1", Версия());
178+
КонецПроцедуры
179+
180+
// возможна передача параметров теста через аннотацию &Параметры
181+
// тест будет вызван для каждого набора параметров
182+
//
183+
&Тест
184+
&Параметры(1, 2, Ложь)
185+
&Параметры(1, 1, Истина)
186+
Процедура ТестДолжен_ВыполнитьсяСПараметрами(ПервоеЗначение, ВтороеЗначение, Ожидание) Экспорт
187+
Результат = (ПервоеЗначение = ВтороеЗначение);
188+
Утверждения.ПроверитьРавенство(Ожидание, Результат);
79189
КонецПроцедуры
80190
81191
Функция Версия() Экспорт
82-
Возврат "0.1";
192+
Возврат "0.1";
83193
КонецФункции
84194
```
85195

@@ -111,6 +221,6 @@
111221

112222
В случае ошибок в тестах/файле будет выдано окно консоли с описанием ошибки.
113223

114-
### Пример запуска всех приемочных тестов ###
224+
### Для запуска всех приемочных тестов в текущем каталоге
115225

116226
1testrunner -runall "$(CURRENT_DIRECTORY)"

0 commit comments

Comments
 (0)