FuncTest. Документация.

Состав дистрибутива.

readme.htmlЭтот файл документации. Формат - html без заголовков, кодировка - win1251.
defcls.prmФайл описания используемых классов 1С++.
vlist.ert
tvalue.ert
Файлы реализации классов ExValueList и ExTableValue соответственно. Активно используются другими модулями FuncTest.
TestStorage.ertФайл реализации класса Test Storage. Отвечает за создание/хранение/редактирование файлов с тестами.
TestExec.ertФайл реализации класса Test Executer. Запускает тесты и сравнивает результаты с ожидаемыми.
Test Brouser.ertБраузер тестов. Внешняя обработка, реализующая интерфейс работы с хранилищем тестов.
Tester.ertВнешняя обработка, осуществляющая запуск тестов и вывод результатов сравнения действительности и ожиданий.
ValueList Editor.ertСлужебная форма для редактирования списов значений.

Работа с Test Brouser.

Окно браузера выглядит примерно так. В самом верхнем строковом поле указывается каталог, где хранятся тесты. По нажатию на кнопку "Анализ" указанный каталог будет проанализирован на предмет наличия тестов, и результат этого анализа будет отражен в табличке "Список тестов".

Вот так выглядит браузер на каталоге с одним тестом.

Добавить тест можно нажав на кнопку "Доб." между табличками "Список тестов" и "Условия теста". При этом можно указать имя теста (позднее емо можно будет отредактировать двойным кликом на соотв. строке), а имя файла, где хранятся ожидания будет задано автоматически и редактированию не подлежит (и не надо). Удаляется тест по кнопке "Уд.".

При нажатии на кнопку "Пок." будет выполнено чтение файла ожиданий для выделенного теста. У нового теста в ожиданиях могут наблюдаться слова-затычки - это нормально.

В таблице "Условия теста" нужно указывать, что именно мы тестируем. Данная таблица является визуальным представлением списка значений и содержит две колонки: "Значение" и "представление". Здесь должно быть по крайней мере два значения с фиксированными представлениями: указатель на объект тестирования (представление "Объект"), и строка, определяющая, что мы тестируем у указанного объекта. Представление второго значения - "ЧтоТестируем". Возможные значения: "Проводки" для тестирования проводок; идентификатор регистра (полностью, со префиксом "Регистр."), для тестирования движений регистра документа; Идентификатор формы отчета (например "Отчет.КнигаПокупок") для тестирования отчетов. Отчет для этого должен быть написан не произвольно, а определенным образом. В версии 0.1 поддерживается только проверка проводок. Кнопками "Доб." и "Уд." производится добавление и удаление значений из списка, двойным кликом на строке - редактирование значения.

Небольшое примечание: В версии 0.1 не поддерживается выбор перечислений в значение списка.

Таблица "Все результаты" содержит все ожидаемые результаты выбранного теста. Для разных тестов структура этой таблицы (структура - это набор колонок), очевидно может быть разной. Добавить или удалить колонку из таблицы результатов можно кнопками "Доб. кол." и "Уд. кол.". Структуру таблицы результатов можно задать строкой в поле в самом низу окна браузера. Например, строка, задающая таблицу из трех колонок с идентификаторами "СчетДТ", "СчетКТ" и "Сумма" строка будет выглядеть, так:

"СчетДТ","СчетКТ","Сумма"
По кнопке "Применить" таблица результатов будет создана со структурой, указанной в этой строке, по кнопке "Взять тек. структуру" в эту строку будет передана строка, соответствующая текущей структуре таблицы результатов.

Таблица "Редактирование результата". Еще одно визуальное представление списка значений. На этот раз представление - идентификатор соответствующей колонки из таблицы всех результатов. Значение - ожидаемое значение в этой колонке. По кнопке "Доб." в общую таблицу результатов будет добавлена строка, состоящая из значений этого списка. По кнопке "Изменить" в таблицу редактирования результата будет скопирована активная строка таблицы результатов. По кнопке "Удалить" из таблицы результатов удаляется выбранный результат.

Работа с Tester.ert.

Обработка проста, как апельсин. Выбираем каталог, жмем "Выполнить", получаем "ОК", либо список расхождений.