DoublesunRUS / ru.capralow.dt.unit

Запуск модульных тестов для EDT
BSD 3-Clause "New" or "Revised" License
78 stars 15 forks source link
1c-edt 1c-enterprise coverage-testing edt-plugin unit-testing

Build

Запуск модульных тестов для 1C:Enterprise Development Tools 2021.1

Минимальная версия EDT: 2021.1

Текущий релиз в ветке master: 0.4.1.
Разработка ведется в ветке dev.

В данном репозитории хранятся только исходники.

Плагин можно установить в EDT через пункт "Установить новое ПО" указав сайт обновления http://capralow.ru/edt/1unit/latest/ . Для установки может потребоваться запуск EDT под правами администратора.
Для самостоятельной сборки плагина необходимо иметь доступ к сайту https://releases.1c.ru и настроить соответствующим образом Maven. Подробности настройки написаны здесь.

Возможности

Плагин позволяет запустить модульные тесты (unit tests) одной кнопкой, после чего увидеть результаты выполнения всех тестов в панели JUnit.
Запуск модульных тестов осуществляется через специализированную конфигурацию запуска "Модульные тесты 1С:Предприятия".
Конфигурация запуска выполняет запуск 1С:Предприятия вместе с внешней обработкой - Фреймворком тестирования. Запуск тестовых процедур и сравнение результатов осуществляется этой обработкой.
Плагин создает feature файлы в формате Gherkin, которые можно использовать для запуска модульных тестов в CI.
Для отображения результатов тестов используется стандартная панель JUnit.

Правила написания тестовых процедур

Для создания тестовой процедуры можно воспользоваться командой контекстного меню "Добавить модульный тест в модуль".

Перед каждой процедурой, которая является тестом, необходимо добавить строку "// @unit-test". Тогда при сохранении общего модуля в папке "features/all" проекта с общим модулем будет создана feature для запуска теста.
Если к специальной строке добавить ":" и некий текст, то будет создана еще одна папка и feature файл будет размещен в двух папках. Например если написать "// @unit-test:slow", то feature файл будет размещен как в папке "features/all", так и в папке "features/slow".
У каждой тестовой процедуры должен быть один параметр - "Фреймворк". В этот параметр при запуске тестов будет передан контекст формы Фреймворка тестирования.
Тестовая процедура должна сравнивать эталонный результат с фактическим и вызывать исключение, если результаты не совпадают. Сравнение должно осуществляться через вызов специализированных функций фреймворка тестирования.

Фреймворки тестирования

Фреймворки тестирования поставляются вместе с плагином и не требуют отдельной установки.
Поддерживаемые фреймворки:
Vanessa Automation 1.2.

Использование Vanessa automation в качестве фреймворка тестирования

В папке МодульныеТестыVA находится расширение, демонстрирующее основные возможности программного интерфейса фреймворка тестирования
Расширение можно установить вместе с любой конфигурацией и запустить тестирование.

Настройки запуска тестов

По умолчанию конфигурация запуска выполняет все тесты выбранного расширения. Для запуска тестов достаточно нажать ПКМ на проекте расширения и выбрать "Отладить как - Модульные тесты 1С:Предприятия".
Для запуска тестов только одного общего модуля или всех тестов определенного теста необходимо донастроить конфигурацию запуска.

Инструкции