mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2024-11-24 08:22:22 +02:00
doc: описание дымовых тестов
This commit is contained in:
parent
cd959453c3
commit
965a1f5044
113
documentation/docs/features/smoke/index.md
Normal file
113
documentation/docs/features/smoke/index.md
Normal file
@ -0,0 +1,113 @@
|
||||
# Дымовые тесты
|
||||
|
||||
В YAxUnit реализована поддержка дымовых тестов.
|
||||
|
||||
:::warning Черновая реализация
|
||||
Реализация дымовых тестов может быть изменена.
|
||||
:::
|
||||
|
||||
Возможности:
|
||||
|
||||
* Тестирование открытия форм:
|
||||
* Нового элемента
|
||||
* Существующего элемента
|
||||
* Скопированного элемента
|
||||
|
||||
## Запуск
|
||||
|
||||
Для запуска дымовых тестов необходимо:
|
||||
|
||||
1. Добавить расширение `smoke.cfe`
|
||||
2. Создать файл настроек
|
||||
3. Запустить 1С:Предприятие и открыть обработку "Юнит-тесты"
|
||||
4. Загрузить настройки и перезагрузить тесты.
|
||||
5. Запустить тесты.
|
||||
|
||||
## Файл настроек
|
||||
|
||||
| Имя параметра | Тип | Значение по умолчанию | Описание |
|
||||
|----------------|-------------------|-----------------------|-------------------------------------------------------------------|
|
||||
| `Использовать` | `boolean` | `false` | Использование дымовых тестов |
|
||||
| `ОткрытиеФорм` | `Object\|boolean` | `false` | [Настройка тестов открытия форм](#настройка-тестов-открытия-форм) |
|
||||
|
||||
### Настройка тестов открытия форм
|
||||
|
||||
| Имя параметра | Тип | Значение по умолчанию | Описание |
|
||||
|--------------------------|-------------------|-----------------------|-----------------------------------------------------|
|
||||
| `Использовать` | `boolean` | `false` | Использование тестов открытия форм |
|
||||
| `Исключения` | `Array\|String` | `Null` | Имена исключаемых объектов |
|
||||
| `<Имя типа теста>` | `Object\|boolean` | `true` | [Настройка типа теста](#настройка-типа-теста) |
|
||||
| `<Имя вида метаданного>` | `Object\|boolean` | `true` | Настройка тестирования для вида объектов метаданных |
|
||||
|
||||
#### Настройка типа теста
|
||||
|
||||
Доступные следующие типы тестов открытия форм:
|
||||
|
||||
* `Новый` - открытие формы - открытие формы **нового** элемента элемента
|
||||
* `Существующий` - открытие формы **существующего** элемента
|
||||
* `Скопированный` - открытие формы **скопированного** элемента
|
||||
* `Список` - открытие формы **списка**
|
||||
* `Выбор` - открытие формы **выбора**
|
||||
|
||||
Для каждого из типов можно указать свои настройки
|
||||
|
||||
| Имя параметра | Тип | Значение по умолчанию | Описание |
|
||||
|----------------|-----------------|-----------------------|-------------------------------------------|
|
||||
| `Использовать` | `boolean` | `false` | Использование типа тестов открытия форм |
|
||||
| `Исключения` | `Array\|String` | `Null` | Имена исключаемых объектов для типа теста |
|
||||
|
||||
#### Настройка вида метаданных
|
||||
|
||||
Для каждого вида метаданных можно указать свои настройки. В качестве ключа используется имя вида метаданных (Справочник, Справочники, Catalog, Catalogs).
|
||||
Есть возможность выключить или задать исключаемые объекты.
|
||||
|
||||
| Имя параметра | Тип | Значение по умолчанию | Описание |
|
||||
|----------------|-----------------|-----------------------|------------------------------------------------------|
|
||||
| `Использовать` | `boolean` | `false` | Использование вида метаданных в тестах открытия форм |
|
||||
| `Исключения` | `Array\|String` | `Null` | Имена исключаемых объектов вида метаданных |
|
||||
|
||||
## Примеры настроек
|
||||
|
||||
Настройка для запуска/загрузки дымовых тестов открытия форм
|
||||
|
||||
```json title="Дымовые тесты.json"
|
||||
{
|
||||
"filter": {
|
||||
"extensions": ["smoke"] // Загрузка тестов из расширения дымовых тестов
|
||||
},
|
||||
"showReport": true,
|
||||
// Настройка дымовых тестов
|
||||
"ДымовыеТесты": {
|
||||
"Использовать": true, // Включение дымовых тестов
|
||||
"ОткрытиеФорм": true // Использование тестов открытия форм
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Настройка исключений
|
||||
|
||||
```json title="Исключения.json"
|
||||
{
|
||||
"filter": {
|
||||
"extensions": ["smoke"] // Загрузка тестов из расширения дымовых тестов
|
||||
},
|
||||
// Настройка дымовых тестов
|
||||
"ДымовыеТесты": {
|
||||
"Использовать": true,
|
||||
"ОткрытиеФорм": {
|
||||
"Использовать": true,
|
||||
"БизнесПроцессы": false, // Отключение проверки бизнес процессов
|
||||
"Исключения": "Удалить_*", // Отключение проверки для объектов, название которых начинается с "Удалить_"
|
||||
"Документы": {
|
||||
"Исключения": [
|
||||
"ПКО", "РКО" // Отключение проверки документов ПКО и РКО
|
||||
]
|
||||
},
|
||||
"Скопированный": false, // Отключение текстов открытия скопированного элемента,
|
||||
"Новый": {
|
||||
"Исключения": ["Номенклатура"] // Исключение номенклатуры из тестов открытия нового элемента
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
@ -170,7 +170,7 @@ const config = {
|
||||
prism: {
|
||||
theme: prismThemes.vsLight,
|
||||
darkTheme: prismThemes.vsDark,
|
||||
additionalLanguages: ['bsl'],
|
||||
additionalLanguages: ['bsl', 'json'],
|
||||
},
|
||||
}),
|
||||
markdown: {
|
||||
|
@ -20,13 +20,11 @@
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
// Настройки = Настройки();
|
||||
//
|
||||
// Если НЕ Настройки.Использовать Тогда
|
||||
// Возврат;
|
||||
// КонецЕсли;
|
||||
Настройки = НастройкиПоУмолчанию();
|
||||
Настройки.Использовать = Истина;
|
||||
Настройки = Настройки();
|
||||
|
||||
Если НЕ Настройки.Использовать Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЮТТесты.ВТранзакции().УдалениеТестовыхДанных();
|
||||
|
||||
@ -37,7 +35,7 @@
|
||||
|
||||
Для Каждого ВладелецФорм Из ВладельцыФорм Цикл
|
||||
|
||||
Если НЕ ВладелецФорм.Просмотр Тогда
|
||||
Если НЕ ВладелецФорм.Просмотр Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
@ -60,28 +58,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОтборМетаданных(Настройки)
|
||||
|
||||
Отбор = ЮТДымовыеТесты.БазовоеОписаниеЭлементаНастройки();
|
||||
ТипыМетаданных = ЮТМетаданные.ТипыМетаданных();
|
||||
Отбор.Исключения = Настройки.Исключения;
|
||||
|
||||
Для Каждого Элемент Из Настройки Цикл
|
||||
|
||||
Если ТипыМетаданных.Свойство(Элемент.Ключ) Тогда
|
||||
ОтборТипаМетаданных = ЮТДымовыеТесты.БазовоеОписаниеЭлементаНастройки();
|
||||
ОтборТипаМетаданных.Использовать = Элемент.Значение.Использовать;
|
||||
ОтборТипаМетаданных.Исключения = Элемент.Значение.Исключения;
|
||||
|
||||
Отбор.Вставить(Элемент.Ключ, ОтборТипаМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Отбор;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура Инициализация(ПараметрыЗапуска) Экспорт
|
||||
|
||||
ЗагружаемыеНастройки = ЮТДымовыеТестыСлужебныйКлиентСервер.ЗагружаемаяНастройкаДымовогоТеста(ПараметрыЗапуска, "ОткрытиеФорм");
|
||||
@ -106,11 +82,11 @@
|
||||
|
||||
ОписаниеФормы.ТипФормы = "ФормаГруппы";
|
||||
|
||||
Если ОписаниеОбъектаМетаданных.ИнтерактивноеДобавление Тогда
|
||||
Если ОписаниеОбъектаМетаданных.ИнтерактивноеДобавление Тогда
|
||||
ЗарегистрироватьТест(Настройки, ОписаниеФормы, ТипыТестов.Новый, "новой группы");
|
||||
ЗарегистрироватьТест(Настройки, ОписаниеФормы, ТипыТестов.Скопированный, "скопированной группы");
|
||||
КонецЕсли;
|
||||
Если ОписаниеОбъектаМетаданных.Редактирование Тогда
|
||||
Если ОписаниеОбъектаМетаданных.Редактирование Тогда
|
||||
ЗарегистрироватьТест(Настройки, ОписаниеФормы, ТипыТестов.Существующий, "редактирование существующей группы");
|
||||
Иначе
|
||||
ЗарегистрироватьТест(Настройки, ОписаниеФормы, ТипыТестов.Существующий, "просмотр существующей группы");
|
||||
@ -119,11 +95,11 @@
|
||||
ИначеЕсли ОписаниеФормы.ЭтоФормаОбъекта Тогда
|
||||
|
||||
ОписаниеФормы.ТипФормы = "ФормаОбъекта";
|
||||
Если ОписаниеОбъектаМетаданных.ИнтерактивноеДобавление Тогда
|
||||
Если ОписаниеОбъектаМетаданных.ИнтерактивноеДобавление Тогда
|
||||
ЗарегистрироватьТест(Настройки, ОписаниеФормы, ТипыТестов.Новый, "нового объекта");
|
||||
ЗарегистрироватьТест(Настройки, ОписаниеФормы, ТипыТестов.Скопированный, "скопированного объекта");
|
||||
КонецЕсли;
|
||||
Если ОписаниеОбъектаМетаданных.Редактирование Тогда
|
||||
Если ОписаниеОбъектаМетаданных.Редактирование Тогда
|
||||
ЗарегистрироватьТест(Настройки, ОписаниеФормы, ТипыТестов.Существующий, "редактирование существующего объекта");
|
||||
Иначе
|
||||
ЗарегистрироватьТест(Настройки, ОписаниеФормы, ТипыТестов.Существующий, "просмотр существующего объекта");
|
||||
@ -155,7 +131,7 @@
|
||||
|
||||
Возврат (Настройки.Свойство(ТипТеста, НастройкаТипаТеста) И НЕ НастройкаТипаТеста.Использовать)
|
||||
Или (Настройки.Свойство(ТипМетаданного, НастройкаТипаМетаданных)
|
||||
И НастройкаТипаМетаданных.Свойство(ТипТеста, НастройкаТипаТеста)
|
||||
И НастройкаТипаМетаданных.Свойство(ТипТеста, НастройкаТипаТеста)
|
||||
И НЕ НастройкаТипаТеста.Использовать);
|
||||
|
||||
КонецФункции
|
||||
@ -168,7 +144,7 @@
|
||||
НастройкаТипаМетаданных.Свойство(ТипТеста, НастройкаТипаТеста);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат НастройкаТипаТеста <> Неопределено И
|
||||
Возврат НастройкаТипаТеста <> Неопределено И
|
||||
ЮТДымовыеТестыСлужебныйКлиентСервер.ПодходитПодИсключения(ОписаниеФормы.Владелец.Имя, НастройкаТипаТеста.Исключения);
|
||||
|
||||
КонецФункции
|
||||
@ -188,6 +164,28 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОтборМетаданных(Настройки)
|
||||
|
||||
Отбор = ЮТДымовыеТесты.БазовоеОписаниеЭлементаНастройки();
|
||||
ТипыМетаданных = ЮТМетаданные.ТипыМетаданных();
|
||||
Отбор.Исключения = Настройки.Исключения;
|
||||
|
||||
Для Каждого Элемент Из Настройки Цикл
|
||||
|
||||
Если ТипыМетаданных.Свойство(Элемент.Ключ) Тогда
|
||||
ОтборТипаМетаданных = ЮТДымовыеТесты.БазовоеОписаниеЭлементаНастройки();
|
||||
ОтборТипаМетаданных.Использовать = Элемент.Значение.Использовать;
|
||||
ОтборТипаМетаданных.Исключения = Элемент.Значение.Исключения;
|
||||
|
||||
Отбор.Вставить(Элемент.Ключ, ОтборТипаМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Отбор;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область Тесты
|
||||
|
||||
Процедура ОткрытьФорму_Новый(ОписаниеФормы) Экспорт
|
||||
@ -244,7 +242,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОткрытьЗакрытьФорму(ОбъектМетаданных, ИмяФормы, Ключ = Неопределено)
|
||||
Процедура ОткрытьЗакрытьФорму(ОбъектМетаданных, ИмяФормы, Ключ = Неопределено)
|
||||
|
||||
ПолноеИмяФормы = СтрШаблон("%1.%2.%3", ОбъектМетаданных.Тип, ОбъектМетаданных.Имя, ИмяФормы);
|
||||
ЮТЛогирование.Отладка("Открытие формы: " + ПолноеИмяФормы);
|
||||
@ -319,7 +317,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ЗагрузкаНастроек
|
||||
@ -339,10 +336,10 @@
|
||||
|
||||
Если ЭтоБазоваяНастройка Тогда
|
||||
Продолжить;
|
||||
ИначеЕсли ТипыТестов.Свойство(Элемент.Ключ) Тогда
|
||||
ИначеЕсли ТипыТестов.Свойство(Элемент.Ключ) Тогда
|
||||
Настройка = НастройкаТипаТеста(Элемент.Значение, Путь + "." + Элемент.Ключ);
|
||||
НастройкиТестов.Вставить(Элемент.Ключ, Настройка);
|
||||
ИначеЕсли ЮТМетаданные.ТипыМетаданных().Свойство(Элемент.Ключ) Тогда
|
||||
ИначеЕсли ЮТМетаданные.ТипыМетаданных().Свойство(Элемент.Ключ) Тогда
|
||||
ПрочитатьНастройкиТипаМетаданных(НастройкиТестов, Элемент.Ключ, Элемент.Значение, Путь);
|
||||
КонецЕсли;
|
||||
|
||||
@ -369,7 +366,7 @@
|
||||
|
||||
Если ЭтоБазоваяНастройка Тогда
|
||||
Продолжить;
|
||||
ИначеЕсли ТипыТестов.Свойство(Элемент.Ключ) Тогда
|
||||
ИначеЕсли ТипыТестов.Свойство(Элемент.Ключ) Тогда
|
||||
Настройка = НастройкаТипаТеста(Элемент.Значение, Путь + "." + Элемент.Ключ);
|
||||
НастройкиТипаМетаданных.Вставить(Элемент.Ключ, Настройка);
|
||||
КонецЕсли;
|
||||
|
@ -18,6 +18,7 @@
|
||||
<configurationExtensionCompatibilityMode>8.3.10</configurationExtensionCompatibilityMode>
|
||||
<configurationExtensionPurpose>AddOn</configurationExtensionPurpose>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
<version>0.2.1</version>
|
||||
<subsystems>Subsystem.ДТ_ЮТПодключаемыеМодули</subsystems>
|
||||
<commonModules>CommonModule.ДТОткрытиеФорм</commonModules>
|
||||
</mdclass:Configuration>
|
||||
|
Loading…
Reference in New Issue
Block a user