Искал долго что-то, что помогло бы ответить на вопрос: "То что я делаю работает верно?", но все решения меня чем-то, да не устраивали. Я даже почти нашел на этом сайте то что искал, но... Мне потребовалось что-то доработать, я залез в код и волосы встали "дыбом". В итоге я написал свой инструмент. Не менее кривой :) но более мне понятный (расширяемый).
Возможности:
1. Создание справочников.
2. Создание документов.
3. Проверка документа.
4. Проверка форм.
5. Установка/Проверка констант.
6. Добавление записей в регистр сведений.
7. Выполнение произвольного кода.
8. Выполнение произвольного запроса.
9. Выполнение произвольного скрипта JScript/VBScript.
10. Выполнение запроса к базе данных.
11. Выгрузка ветвей дерева теста в файл.
12. Выгрузка теста в файл.
13. Добавление теста в дерево тестов из файла.
14. Добавление ветви тестов в дерево тестов из файла.
15. Запуск тестов в автоматическом режиме (/execute/С)
Если кому-то мао функционала:
1. Изменяем макет о программе (добавляем себя как автора изменений) - мое лицензинонное требование.
2. Добавляем форму с обязательными реквизитами:
1. Параметры
2. ПараметрыТестов
и Функциями (Процедурами):
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
СтруктураТеста = СоздатьСтруктуру();
Если МодальныйРежим Тогда
Закрыть(СтруктураТеста);
Иначе
СтрокаТеста.Описание = СтруктураТеста.Описание;
СтрокаТеста.Тест = ЗначениеВСтрокуВнутр(СтруктураТеста);
Закрыть(СтруктураТеста);
КонецЕсли;
КонецПроцедуры
Функция СоздатьСтруктуру()
Тест = Новый Структура;
Тест.Вставить("Описание", ЭлементыФормы.ПТДОписание.ПолучитьТекст());
Тест.Вставить("Параметры", Параметры);
Тест.Вставить("ФормаРедактирования", "Уникальное название формы");
Возврат Тест;
КонецФункции
Процедура ЗаполнитьИзСтруктуры(Тест) Экспорт
Если Тест.Свойство("Описание") Тогда
ЭлементыФормы.ПТДОписание.УстановитьТекст(Тест.Описание);
КонецЕсли;
Если Тест.Свойство("Параметры") Тогда
Параметры = Тест.Параметры;
КонецЕсли;
КонецПроцедуры
В основной форме, добавляем открытие формы.
Процедура ТестыПередНачаломИзменения...
СписокВыбора.Добавить(ПолучитьФорму("Уникальное название формы"),"Уникальное название формы",,КартинкаVBS);
И в модуле обработки добавляем обработку в функцию ВыполнитьТест.
Кратко о том, что такое алгоритмы:
Есть таблица с тремя колонками: "Имя", "Тип"(Px,Qx,Fx), "Текст".
Есть функция: ВыполнитьКод(Имя, Параметры) - возвращающая массив Результаты
У функции три модели поведения в зависимости от типа (Px,Qx,Fx) текста, проименованного в колонке "Имя".
Функция по имени (переменная №1 переданная в функцию) отбирает строки таблицы и последовательно их выполняет.
Если тип Qx то выполняется запрос и в Результаты добавляется результат запроса (при этом Параметры пытаются передаться как "Параметры запроса")
Если тип Px то Выполняется Текст и ничего не добавляется.
Если тип Fx то Текст вычисляется а в массив добавляется результат вычислений.
17.03.2011 Добавлены транзакции
18.03.2011
Изменения:
1. Добавлены возможности прикрепления к тестам файлов
2. Добавлены возможности сравнения файлов
Интерфейс работы и сравнения с файлов:
Функция ПолучитьФайлыПоИмени(Имя) Экспорт
Возвращает массив двоичных данных из таблицы файлов, где имя совподает с "Имя"
Функция ПолучитьФайлПоID(ID) Экспорт
Возвращает ДвоичныеДанные по ID.
Функция СравнитьДанные(Источник, Приемник, СпособСравнения = Неопределено, ПараметрыСравнения = Неопределено)
Возвращает результат сравнения (истина/ложь) файлов.
Параметры:
-Источник/Приемник:
-Тип: Строка или ДвоичныеДанные
Описание:
Если тип строка, то функция проверяет существование файла, если его нет ищет в табице файлов по ID.
Если ДвоичныеДанные, то сохроняет на диск
-Способ сравнения:
СпособСравненияФайлов по умолчанию: СпособСравненияФайлов.Двоичное
- ПараметрыСравнения
-Тип Структура
ИгнорироватьПустоеПространство
УчитыватьРазделителиСтрок
УчитыватьРегистр
По умолчанию все свойства структуры Ложь
Обновлена до версии 0.98.1
Отличия от версии 0.98
-
Добавлена возможность создания релиза. Меню: Утилиты - Создание релиза.
-
Добавлена новая форма тестирования форм. Она позволяет выполнить заранее определенный код на языке 1С. В коде доступны объекты:
-
ТекущаяФорма
-
ЭлементыФормы
-
ГлобальныеПараметры
-
Алгоритмы
-
Файлы
-