-
Notifications
You must be signed in to change notification settings - Fork 127
Тесты открытия форм
Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С.
Тесты удобно использовать перед выпуском релиза/обновлений конфигурации и/или перед установкой релиза/обновлений в рабочую базу.
Реализация тестов проверяет открытие/закрытие различных форм с учетом прав доступа (права "Использование/Просмотр") для пользователей с различными ролями (полные или ограниченные права).
Проверяются следующие виды наиболее активно используемых форм:
- формы списков и формы выбора справочников
- форма элементов справочников
- формы списков и формы выбора документов
- формы документов
- формы отчетов
- формы обработок
Также для каждого справочника проверяются 3 дополнительных теста c учетом прав доступа (права "Просмотр/Интерактивное добавление"):
- создание нового элемента и открытие его формы
- копирование существующего элемента и открытие формы созданного элемента
- открытие формы существующего элемента
Для каждого документа проверяются 3 дополнительных теста c учетом прав доступа (права "Просмотр/Интерактивное добавление"):
- открытие формы существующего документа (берется последний по дате)
- перенос существующего документа на текущий день и открытие формы этого документа
- открытие формы нового документа
В связи с универсальностью дымовых тестов иногда возникает потребность скорректировать запуск дымовых тестов под конкретную конфигурацию.
Например, часть форма не предназначена для работы в интерактивном режиме и т.п.
Не рекомендуется добавлять в исключения формы по другим причинам – например, эти формы редко открываются, не работают в выбранном виде клиента и т.п., т.к. это приводит к ошибкам, которые постоянно существуют, что не всегда верно.
Подобные формы необходимо добавить в исключения.
Для добавления исключения в корне фреймворка xUnitFor1C, рядом с файлом xddTestRunner.epf, нужно создать файл 1smoke.json
Это файл json-формата с различными коллекциями и массивами
В нем могут быть 4 коллекции – Справочники, Документы, Отчеты, Обработки
И подразделы/простые массивы-перечисления (для справочников и документов) – Списки, Существующие, Новые, ПеренестиДату (для документов)
В перечислении уже указываются конкретные имена метаданных, которые не нужно открывать, а нужно пропустить.
Примерный текст файла (текст и картинка):
{
"Справочники": {
"Списки": [
"ПростойСправочник",
"СоставПериметра"
],
"Новые": [
"ПростойСправочник2",
"СоставПериметра"
]
},
"Отчеты": [
"Отчет1"
],
"Обработки": [
"xddGuidShow"
]
}
Описанный ниже способ хуже, чем вышеуказанный метод указания исключений:
- нужно менять код внешней обработки, что усложняет сопровождение
- код обработки менять сложнее, чем простой текстовый файл
- текст файла удобнее держать в репозитории исходников, чем код внешней обработки
Исключения задаются непосредственно в файле-теста Tests\Smoke\Тесты_ОткрытиеФормКонфигурации.epf
В конце файла есть набор методов
+ //{ блок переопределения исключений, чтобы не открывать формы
+ Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт
+ Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт
+ Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт
+ Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт
+ Функция ПолучитьСписокИсключений_Отчеты() Экспорт
+ Функция ПолучитьСписокИсключений_Обработки() Экспорт
+ //} конец блока
Формат этих методов
Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт
Результат = Новый СписокЗначений;
Результат.Добавить("ирАлгоритмы"); // Аналогично добавляем наименования нужных метаданных
Возврат Результат;
КонецФункции
Нужно добавить имя метаданного-исключения в соответствующий метод в виде указанного кода.