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 | Служебная форма для редактирования списов значений. |
Окно браузера выглядит примерно так. В самом верхнем строковом поле указывается каталог, где хранятся тесты. По нажатию на кнопку "Анализ" указанный каталог будет проанализирован на предмет наличия тестов, и результат этого анализа будет отражен в табличке "Список тестов".
Вот так выглядит браузер на каталоге с одним тестом.
Добавить тест можно нажав на кнопку "Доб." между табличками "Список тестов" и "Условия теста". При этом можно указать имя теста (позднее емо можно будет отредактировать двойным кликом на соотв. строке), а имя файла, где хранятся ожидания будет задано автоматически и редактированию не подлежит (и не надо). Удаляется тест по кнопке "Уд.".
При нажатии на кнопку "Пок." будет выполнено чтение файла ожиданий для выделенного теста. У нового теста в ожиданиях могут наблюдаться слова-затычки - это нормально.
В таблице "Условия теста" нужно указывать, что именно мы тестируем. Данная таблица является визуальным представлением списка значений и содержит две колонки: "Значение" и "представление". Здесь должно быть по крайней мере два значения с фиксированными представлениями: указатель на объект тестирования (представление "Объект"), и строка, определяющая, что мы тестируем у указанного объекта. Представление второго значения - "ЧтоТестируем". Возможные значения: "Проводки" для тестирования проводок; идентификатор регистра (полностью, со префиксом "Регистр."), для тестирования движений регистра документа; Идентификатор формы отчета (например "Отчет.КнигаПокупок") для тестирования отчетов. Отчет для этого должен быть написан не произвольно, а определенным образом. В версии 0.1 поддерживается только проверка проводок. Кнопками "Доб." и "Уд." производится добавление и удаление значений из списка, двойным кликом на строке - редактирование значения.
Небольшое примечание: В версии 0.1 не поддерживается выбор перечислений в значение списка.
Таблица "Все результаты" содержит все ожидаемые результаты выбранного теста. Для разных тестов структура этой таблицы (структура - это набор колонок), очевидно может быть разной. Добавить или удалить колонку из таблицы результатов можно кнопками "Доб. кол." и "Уд. кол.". Структуру таблицы результатов можно задать строкой в поле в самом низу окна браузера. Например, строка, задающая таблицу из трех колонок с идентификаторами "СчетДТ", "СчетКТ" и "Сумма" строка будет выглядеть, так:
"СчетДТ","СчетКТ","Сумма"По кнопке "Применить" таблица результатов будет создана со структурой, указанной в этой строке, по кнопке "Взять тек. структуру" в эту строку будет передана строка, соответствующая текущей структуре таблицы результатов.
Таблица "Редактирование результата". Еще одно визуальное представление списка значений. На этот раз представление - идентификатор соответствующей колонки из таблицы всех результатов. Значение - ожидаемое значение в этой колонке. По кнопке "Доб." в общую таблицу результатов будет добавлена строка, состоящая из значений этого списка. По кнопке "Изменить" в таблицу редактирования результата будет скопирована активная строка таблицы результатов. По кнопке "Удалить" из таблицы результатов удаляется выбранный результат.
Обработка проста, как апельсин. Выбираем каталог, жмем "Выполнить", получаем "ОК", либо список расхождений.