ADO.RecordSet
При тестировании прямых запросов к СУБД часто возникает потребность в эмуляции работы с объектом ADO.RecordSet. Этот объект используется для чтения данных из результатов SQL-запросов, но его прямое использование в тестах затруднено из-за отсутствия возможности программно создать и настроить его. Для решения этой проблемы была разработана заглушка (stub), которая имитирует интерфейс ADO.RecordSet и позволяет упростить тестирование.
HTTPОтвет
При тестировании HTTP-запросов возникает необходимость использовать мок для эмуляции объекта HTTPОтвет.
HTTPСервисЗапрос
Тестирование HTTP-сервисов в 1С может быть достаточно сложной задачей. Основные трудности связаны с отсутствием возможности программного вызова HTTP-сервисов и создания объекта HTTPСервисЗапрос из кода 1С. В данной статье мы рассмотрим, как можно обойти эти проблемы и упростить тестирование HTTP-сервисов с использованием заглушек и библиотеки YAxUnit.
Базовые утверждения
Утверждения для проверки значений
Генератор кода для Конструктор объекта
Для возможности быстрой генерации данных используйте обработку автоматической генерации кода Генератор кода. Работает по любым выбранным ссылкам из справочника и документа. На основе выбранных ссылок формир уется готовый код в виде КонструкторОбъектов().
Графический интерфейс
Расширение добавляет в командный интерфейс конфигурации новый раздел YAxUnit.
Загрузка данных из макетов
Описание
Запросы
Для получения данных базы предоставлен API выполнения запросов ЮТЗапросы.
Запуск и отладка тестов
В общем случае запуск тестов выполняется запуском 1С:Предприятия с параметром RunUnitTests. При необходимости можно указать путь к файлу конфигурации запуска для настройки прогона тестов.
Коллекции
Конструктор объекта
Конструктор объекта является ключевым инструментом для создания тестовых данных в контексте фреймворка YAxUnit. Он реализован как текучий интерфейс, что позволяет гибко и удобно настраивать объекты, табличные части и реквизиты. Досту п к нему осуществляется через фабрику ЮТест.Данные().КонструкторОбъекта().
Контекст
Механизм глобальных контекстов в тестовом движке играет ключевую роль. Он предоставляет следующие основные возможности:
Мокирование
Вводная
Отчеты о тестировании
Важным этапом тестирования является формирование удобного и информативного отчета. YAxUnit предоставляет возможность работать с различными видами отчетов.
Пишем первый тест
Подготовка окружения
Плагин для EDT
Предоставляет следующие функции
Предикаты
Предикаты это довольно мощный и универсальный инструмент. С помощью предикатов вы формируете набор условий, сродни отбору. Который можно использовать:
Программное создание тестовых данных
Доступ к методам генерации тестовых реализован через ЮТест.Данные(), этот метод возвращает общий модуль ЮТТестовыеДанные.
Регистрация тестовых методов
Кроме того, чтобы написать тестовые сценарии (методы), разработчик должен зарегистрировать их в движке - рассказать ему, какие имеются тесты, как их запускать, с какими параметрами и т.д.
События
События тестов
СообщениеСервисаИнтеграции
При тестировании интеграций с использованием 1С:Шина часто возникает потребность в тестировании сборки и разборки сообщений сервисов интеграции. Однако объект СообщениеСервисаИнтеграции не имеет конструктора, что делает его создание и настройку в тестах затруднительным. Для решения этой проблемы была разработана заглушка (stub), которая имитирует интерфейс СообщениеСервисаИнтеграции и позволяет упростить тестирование.
Тестовые данные
Тестовые данные, на мой взгляд, одна из самых сложных тем в тестировании решений на базе 1С:Предприятия.
Удаление тестовых данных
При использовании тестовых данных нередко необходимо удалять созданные объекты.
Установка
YAxUnit - это расширение для 1С:Предприятия, которое необходимо добавить к вашему проекту.
Утверждения
Тестирование - это проверка системы на соответствие требованиям. Из этого следует, что при тестировании, у нас должны быть требования к тестируемой функциональности, сформулированные ожидания.
Утверждения для проверки наличия данных информационной базы
Большая часть тестируемых методов так или иначе оставляет свой след в информационной базе, создает или изменяет записи - документы, регистры, справочники и так далее.