-
Notifications
You must be signed in to change notification settings - Fork 126
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
525 changed files
with
16,330 additions
and
39,624 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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified
BIN
+464 Bytes
(110%)
Tests/Plugins/Тесты_ЗагрузчикФайла_НовыйAPIОбъявленияТестов.epf
Binary file not shown.
Binary file not shown.
Binary file not shown.
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,127 @@ | ||
# Дымовые тесты | ||
|
||
Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С. | ||
|
||
Тесты удобно использовать перед выпуском релиза/обновлений конфигурации и/или перед установкой релиза/обновлений в рабочую базу. | ||
|
||
Реализация тестов проверяет открытие/закрытие различных форм с учетом прав доступа (права "Использование/Просмотр") для пользователей с различными ролями (полные или ограниченные права). | ||
|
||
Проверяются следующие виды наиболее активно используемых форм: | ||
|
||
+ формы списков и формы выбора справочников | ||
+ форма элементов справочников | ||
+ формы списков и формы выбора документов | ||
+ формы документов | ||
+ формы отчетов | ||
+ формы обработок | ||
|
||
Также для каждого справочника проверяются 3 дополнительных теста c учетом прав доступа (права "Просмотр/Интерактивное добавление"): | ||
|
||
1. создание нового элемента и открытие его формы | ||
1. копирование существующего элемента и открытие формы созданного элемента | ||
1. открытие формы существующего элемента | ||
|
||
Для каждого документа проверяются 3 дополнительных теста c учетом прав доступа (права "Просмотр/Интерактивное добавление"): | ||
|
||
1. открытие формы существующего документа (берется последний по дате) | ||
1. перенос существующего документа на текущий день и открытие формы этого документа | ||
1. открытие формы нового документа | ||
|
||
## Настройка дымовых тестов под конкретную конфигурацию | ||
|
||
В связи с универсальностью дымовых тестов иногда возникает потребность скорректировать запуск дымовых тестов под конкретную конфигурацию. | ||
|
||
Например, часть форма не предназначена для работы в интерактивном режиме и т.п. | ||
|
||
Не рекомендуется добавлять в исключения формы по другим причинам – например, эти формы редко открываются, не работают в выбранном виде клиента и т.п., т.к. это приводит к ошибкам, которые постоянно существуют, что не всегда верно. | ||
|
||
Подобные формы необходимо добавить в исключения. | ||
|
||
### Исключения для версии 4.1.Х.Х и выше | ||
|
||
Для добавления исключения в корне фреймворка xUnitFor1C, рядом с файлом xddTestRunner.epf, нужно создать файл smoke.json | ||
|
||
Это файл json-формата с различными коллекциями и массивами | ||
|
||
#### В нем могут быть 4 коллекции – Справочники, Документы, Отчеты, Обработки | ||
|
||
И подразделы/простые массивы-перечисления (для справочников и документов) – Списки, Существующие, Новые, ПеренестиДату (для документов) | ||
|
||
В перечислении уже указываются конкретные имена метаданных, которые не нужно открывать, а нужно пропустить. | ||
|
||
#### Отдельная настройка `ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций` | ||
|
||
Она отвечает за исключение форм, которые зависят от отключенных функциональных опций. | ||
|
||
Тип: Булево (true или false) | ||
|
||
По умолчанию настройка не используется, т.е. проверки функциональных опций не выполняется. | ||
|
||
Настройка важна для `толстых` конфигураций, например, ERP или УХ. | ||
|
||
#### Примерный текст файла | ||
|
||
```json | ||
{ | ||
"smoke": { | ||
|
||
"ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций" : true, | ||
|
||
"Справочники": { | ||
"Списки": [ | ||
"ПростойСправочник", | ||
"СоставПериметра" | ||
], | ||
"Новые": [ | ||
"ПростойСправочник2", | ||
"СоставПериметра" | ||
] | ||
}, | ||
"Отчеты": [ | ||
"Отчет1" | ||
], | ||
"Обработки": [ | ||
"xddGuidShow" | ||
] | ||
} | ||
} | ||
``` | ||
|
||
### Исключения для версии ниже 4.1.Х.Х (более сложный способ) - не рекомендуется | ||
|
||
Описанный ниже способ хуже, чем вышеуказанный метод указания исключений: | ||
|
||
+ нужно менять код внешней обработки, что усложняет сопровождение | ||
+ код обработки менять сложнее, чем простой текстовый файл | ||
+ текст файла удобнее держать в репозитории исходников, чем код внешней обработки | ||
|
||
Исключения задаются непосредственно в файле-теста `Tests\Smoke\Тесты_ОткрытиеФормКонфигурации.epf` | ||
|
||
В конце файла есть набор методов | ||
|
||
```bsl | ||
+ //{ блок переопределения исключений, чтобы не открывать формы | ||
+ Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт | ||
+ Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт | ||
+ Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт | ||
+ Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт | ||
+ Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт | ||
+ Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт | ||
+ Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт | ||
+ Функция ПолучитьСписокИсключений_Отчеты() Экспорт | ||
+ Функция ПолучитьСписокИсключений_Обработки() Экспорт | ||
+ //} конец блока | ||
``` | ||
|
||
Формат этих методов | ||
```bsl | ||
Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт | ||
Результат = Новый СписокЗначений; | ||
Результат.Добавить("ирАлгоритмы"); // Аналогично добавляем наименования нужных метаданных | ||
Возврат Результат; | ||
КонецФункции | ||
``` | ||
|
||
Нужно добавить имя метаданного-исключения в соответствующий метод в виде указанного кода. |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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,5 @@ | ||
{ | ||
"Тесты_Настройки": { | ||
"Ключ": "значение для Тесты_Настройки", | ||
} | ||
} |
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,3 @@ | ||
{ | ||
"Ключ": "значение для Тесты_Настройки", | ||
} |
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,5 @@ | ||
{ | ||
"Тесты_Настройки": { | ||
"configpath": "Тесты_Настройки_Потомок.json" | ||
} | ||
} |
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,11 +1,10 @@ | ||
Перед выпуском релиза нужно выполнить операции по следующему чек-листу: | ||
- Изменить номер версии в методе Версия() модуля обработки xddTestRunner.epf | ||
- Изменить номер версии в методе Версия() модуля обработки xddDataFixtureGen.epf | ||
- Изменить номер версии в методе Версия() модуля обработки Tests\Gui83\UILogToScript.epf | ||
- Изменить номер версии в методе Версия() модуля обработки Plugins\СериализаторMXL.epf | ||
- Изменить номер версии в метаданных конфигурации для 8.2 и 8.3 | ||
- Сохранить конфигурацию с новым номером версии в файл Tests\TestConfig.cf | ||
- Сохранить конфигурацию с новым номером версии в файл Tests\TestConfig-Taxi83.cf, предварительно открыв базу в режиме 8.3 | ||
- Сохранить конфигурацию с новым номером версии в файл Tests\TestConfig-no-modal.cf, предварительно открыв базу в режиме 8.3 | ||
- Выполнить все тесты из папки Tests. Ошибок быть не должно. | ||
- Описать все изменения версии в файле history.txt | ||
- Убедиться, что в задачах/issues на Гитхабе для нового релиза/milestone не осталось невыполненных задач. | ||
- Если все-таки есть незавершенные задачи, их нужно убрать из нового релиза/milestone. | ||
- Если все-таки есть незавершенные задачи, их нужно перенести из нового релиза/milestone в следующий релиз. |
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,20 @@ | ||
{ | ||
"smoke": { | ||
"ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций" : true, | ||
"Справочники": { | ||
"Списки": [ | ||
"ПростойСправочник" | ||
], | ||
"Новые": [ | ||
"ПростойСправочник2" | ||
] | ||
}, | ||
"Отчеты": [ | ||
"Отчет1" | ||
], | ||
"Обработки": [ | ||
"xddGuidShow", | ||
"ТестОбработка_Форма_ИсключениеПриОткрытии" | ||
] | ||
} | ||
} |
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,60 @@ | ||
|
||
// { Plugin interface | ||
&НаКлиенте | ||
Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт | ||
Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); | ||
КонецФункции | ||
|
||
&НаСервере | ||
Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) | ||
Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); | ||
КонецФункции | ||
// } Plugin interface | ||
|
||
// { Report generator interface | ||
&НаКлиенте | ||
Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт | ||
Объект.ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; | ||
Объект.СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; | ||
Возврат СоздатьОтчетНаСервере(РезультатыТестирования); | ||
КонецФункции | ||
|
||
&НаСервере | ||
Функция СоздатьОтчетНаСервере(РезультатыТестирования) | ||
Возврат ЭтотОбъектНаСервере().СоздатьОтчетНаСервере(РезультатыТестирования); | ||
КонецФункции | ||
|
||
&НаКлиенте | ||
Процедура Показать(Отчет) Экспорт | ||
Отчет.Показать(); | ||
КонецПроцедуры | ||
|
||
&НаКлиенте | ||
Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт | ||
|
||
СтрокаXML = Отчет.ПолучитьТекст(); | ||
|
||
ИмяФайла = ПолныйПутьФайла; | ||
|
||
// Запись файла с кодировкой "UTF-8", а не "UTF-8 with BOM" | ||
ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI); | ||
ЗаписьТекста.Закрыть(); | ||
|
||
ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла,,, Истина); | ||
КоличествоСтрок = СтрЧислоСтрок(СтрокаXML); | ||
Для НомерСтроки = 1 По КоличествоСтрок Цикл | ||
Стр = СтрПолучитьСтроку(СтрокаXML, НомерСтроки); | ||
ЗаписьТекста.ЗаписатьСтроку(Стр); | ||
КонецЦикла; | ||
ЗаписьТекста.Закрыть(); | ||
|
||
КонецПроцедуры | ||
// } Report generator interface | ||
|
||
// { Helpers | ||
&НаСервере | ||
Функция ЭтотОбъектНаСервере() | ||
Возврат РеквизитФормыВЗначение("Объект"); | ||
КонецФункции | ||
// } Helpers | ||
|
Oops, something went wrong.