Тестирование (внешняя обработка)


Тестирование - это поиск ошибок. Однако 1С в этом плане практически не предоставляет никаких инструментов.

Искал долго что-то, что помогло бы ответить на вопрос: "То что я делаю работает верно?", но все решения меня чем-то, да не устраивали. Я даже почти нашел на этом сайте то что искал, но... Мне потребовалось что-то доработать, я залез в код и волосы встали "дыбом". В итоге я написал свой инструмент. Не менее кривой :) но более мне понятный (расширяемый).

Возможности:

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.

Если ДвоичныеДанные, то сохроняет на диск

-Способ сравнения:

СпособСравненияФайлов по умолчанию: СпособСравненияФайлов.Двоичное

- ПараметрыСравнения

-Тип Структура

ИгнорироватьПустоеПространство

УчитыватьРазделителиСтрок

УчитыватьРегистр

По умолчанию все свойства структуры Ложь

Файлы обработки:

-