Правила регистрации изменений используются как в обменах данными в формате конвертации данных 2.х, так и в обменах на с использованием EnterpriseData. Раньше использовать тестирование не приходилось по общей причине "некогда".
Для запуска теста необходимо переписать функции из модуля формы в области "ПереопределяемыеПроцедурыФункции":
Процедуры/функции этой области настраивают выполнения теста и их реализация зависит от конкретных условий тестирования (конфигурация, размещение правил и т.п.).
&НаКлиенте
Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт
НаборТестов.НачатьГруппу("Помошники формирования описания настроек плана обмена "+ИмяПланаОбмена(), Ложь);
НаборТестов.Добавить("Процедура_ПозволяетЧерезОтладчикПолучитьСтрокуОписаниеТекущегоСоставаПланаОбмена", ,"Получить описание реального состава плана обмена через отладчик.");
НаборТестов.НачатьГруппу("Тестирование настроек правил регистрации плана обмена "+ИмяПланаОбмена(), Ложь);
НаборТестов.Добавить("ТестДолжен_ПроверитьЗагрузкуПравилРегистрации", ,"Проверка загрузки правил регистрации.");
НаборТестов.Добавить("ТестДолжен_ПроверитьНаличиеДубликатовОбъектовВПравилахРегистрации", ,"Проверка наличия дублей объектов в правилах регистрации.");
НаборТестов.НачатьГруппу("Тестирование настроек плана обмена "+ИмяПланаОбмена(), Ложь);
НаборТестов.Добавить("ТестДолжен_ПроверитьСоответствиеТекущегоИРеальногоСоставовПланаОбмена", ,"Проверка соответствия тестового и реального составов плана обмена.");
НаборТестов.Добавить("ТестДолжен_ПроверитьСоответствиеНастроекСоставаПланаОбменаИПодписокРегистрацииИзменений", ,"Проверка соответствия состава плана обмена и подписок регистрации изменений.");
НаборТестов.Добавить("ТестДолжен_ПроверитьСоответствиеСоставаПланаОбменаИПравилРегистрации", ,"Проверка соответствие состава плана обмена правил регистрации.");
НаборТестов.НачатьГруппу("Тестирование регистрации объектов обмена "+ИмяПланаОбмена(), Ложь);
ЗаполнитьНаборТестовПереопределяемый(НаборТестов);
КонецПроцедуры
В первой группе "Помощники формирования описания настроек плана обмена", размещен не тест, а процедура, в которой в отладчике можно получить строку описания состава плана обмена для переопределяемой процедуры СтрокаПереченьОбъектовСоставаПланаОбмена. Эта строка необходима для контроля изменений вносимых в состав плана обмена, когда все забудут, что именно было нужно, но продолжат вносить изменения.
Далее два теста из группы "Тестирование настроек правил регистрации плана обмена", проверяют возможность загрузки правил типовым механизмом конфигурации и контролируют наличие дублей правил для всех объектов из состава плана обмена, т.е. не должно быть двух правил регистрации для одного справочника Номенклатура" и т.д. Тест проверки загрузки использует переопределяемую процедуру "ЗагрузитьПравила".
В группе "Тестирование настроек плана обмена" находятся три теста, проверяющие:
- соответствие текущего состава плана обмена описанному ранее
- что все объекты из состава плана обмена, у которых отключена авторегистрация, входят в состав источников подписок на события и соответственно в подписках на события не указано лишних объектов в качестве источника
- что у всех типов объектов входящих в состав плана обмена есть регистрирующая подписка на событие, т.е. проверяется есть ли подписка для правочников, для документов и т.д.
Четвертая группа тестов заполняется автоматически по составу плана обмена. Для каждого объекта с отключенной авторегистрацией создается вызов теста правил регистрации.
Так как это первый опыт практического применения тестов приветствуются любая критика и наставления.