Skip to content

Commit

Permalink
Добавил доку по дымовым тестам и их настройке (через внешний файл и т…
Browse files Browse the repository at this point in the history
….п.) в проект #686
  • Loading branch information
artbear committed Mar 26, 2017
1 parent aee1bf2 commit 234e975
Showing 1 changed file with 112 additions and 0 deletions.
112 changes: 112 additions & 0 deletions Tests/Smoke/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Дымовые тесты

Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С.

Тесты удобно использовать перед выпуском релиза/обновлений конфигурации и/или перед установкой релиза/обновлений в рабочую базу.

Реализация тестов проверяет открытие/закрытие различных форм с учетом прав доступа (права "Использование/Просмотр") для пользователей с различными ролями (полные или ограниченные права).

Проверяются следующие виды наиболее активно используемых форм:

+ формы списков и формы выбора справочников
+ форма элементов справочников
+ формы списков и формы выбора документов
+ формы документов
+ формы отчетов
+ формы обработок

Также для каждого справочника проверяются 3 дополнительных теста c учетом прав доступа (права "Просмотр/Интерактивное добавление"):

1. создание нового элемента и открытие его формы
1. копирование существующего элемента и открытие формы созданного элемента
1. открытие формы существующего элемента

Для каждого документа проверяются 3 дополнительных теста c учетом прав доступа (права "Просмотр/Интерактивное добавление"):

1. открытие формы существующего документа (берется последний по дате)
1. перенос существующего документа на текущий день и открытие формы этого документа
1. открытие формы нового документа

## Настройка дымовых тестов под конкретную конфигурацию

В связи с универсальностью дымовых тестов иногда возникает потребность скорректировать запуск дымовых тестов под конкретную конфигурацию.

Например, часть форма не предназначена для работы в интерактивном режиме и т.п.

Не рекомендуется добавлять в исключения формы по другим причинам – например, эти формы редко открываются, не работают в выбранном виде клиента и т.п., т.к. это приводит к ошибкам, которые постоянно существуют, что не всегда верно.

Подобные формы необходимо добавить в исключения.

### Исключения для версии 4.1.Х.Х и выше

Для добавления исключения в корне фреймворка xUnitFor1C, рядом с файлом xddTestRunner.epf, нужно создать файл 1smoke.json

Это файл json-формата с различными коллекциями и массивами

В нем могут быть 4 коллекции – Справочники, Документы, Отчеты, Обработки

И подразделы/простые массивы-перечисления (для справочников и документов) – Списки, Существующие, Новые, ПеренестиДату (для документов)

В перечислении уже указываются конкретные имена метаданных, которые не нужно открывать, а нужно пропустить.

Примерный текст файла (текст и картинка):

```json
{
"Справочники": {
"Списки": [
"ПростойСправочник",
"СоставПериметра"
],
"Новые": [
"ПростойСправочник2",
"СоставПериметра"
]
},
"Отчеты": [
"Отчет1"
],
"Обработки": [
"xddGuidShow"
]
}
```

### Исключения для версии ниже 4.1.Х.Х (более сложный способ) - не рекомендуется

Описанный ниже способ хуже, чем вышеуказанный метод указания исключений:

+ нужно менять код внешней обработки, что усложняет сопровождение
+ код обработки менять сложнее, чем простой текстовый файл
+ текст файла удобнее держать в репозитории исходников, чем код внешней обработки

Исключения задаются непосредственно в файле-теста `Tests\Smoke\Тесты_ОткрытиеФормКонфигурации.epf`

В конце файла есть набор методов

```bsl
+ //{ блок переопределения исключений, чтобы не открывать формы
+ Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт
+ Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт
+ Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт
+ Функция ПолучитьСписокИсключений_Отчеты() Экспорт
+ Функция ПолучитьСписокИсключений_Обработки() Экспорт
+ //} конец блока
```

Формат этих методов
```bsl
Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт
Результат = Новый СписокЗначений;
Результат.Добавить("ирАлгоритмы"); // Аналогично добавляем наименования нужных метаданных
Возврат Результат;
КонецФункции
```

Нужно добавить имя метаданного-исключения в соответствующий метод в виде указанного кода.

0 comments on commit 234e975

Please sign in to comment.