1C enterprise test tools
Набор инструментов для тестирования (предварительная версия)
Установка
npm install -D e1c-test-tools
или
yarn add -D e1c-test-tools
Дополнительно необходимо установить jest
npm install -D jest
или
yarn add -D jest
и в случае с моими примерами ts-jest с указанными зависимостями.
Настройка
.env
Переменные окружения Основные настройки на данный момент хранятся в .dev
, пример настроек в .sample-env (то есть в каталоге проекта создаем файл .dev
и добавляем после знака равно соответствующие настройки):
-
BROKER_HOST
иBROKER_PORT
(необязательно) соответственно хост и порт сервиса обмена сообщениями с 1С, по умолчанию127.0.0.1:3000
-
PATH_TO_E1C_EXECUTABLE
(требуется) путь к запускаемому файлу 1С предприятие -
E1C_DB_TYPE
(требуется) тип базы данных 1С предприятияF
(файловая) илиS
(серверная) -
E1C_DB_PATH
(требуется) путь к базе данных 1С предприятия, так как это указано в документации для соответствующего типа БД. -
E1C_USER
иE1C_USER
(требуется, если есть авторизация) пользователь и пароль базы 1С предприятия аналогично флагам/N
и/P
в документации -
PATH_TO_EXTERNAL_BIN_FILE
(необязательно) путь к файлу внешнего отчета или обработки, который планируется тестировать, на данный момент возможно указать только один файл -
PATH_TO_MOCKED_EXTERNAL_BIN_FILES
(необязательно) путь к директории, где по-вашему мнению должны располагаться отчеты/обработки подготовленные к тестированию -
PATH_TO_TESTER_EXTERNAL_BIN_FILE
(необязательно) путь к файлу обработки, которая используется для тестирования. Если не указывать, то используется обработка по умолчанию.
Настройка jest
npx ts-jest config:init
или
yarn ts-jest config:init
Для js вместо этого нужно выполнить jest --init
, с использованием npx
или yarn
соответственно, или без, если jest
установлен глобально.
Далее для глобальных сетапа и тирдауна необходимо добавить в jest.config.js
следующие поля:
'globalSetup': './node_modules/e1c-test-tools/dist/e1c-test-tools/test-tools/helpers/jest-global-setup.js',
'globalTeardown': './node_modules/e1c-test-tools/dist/e1c-test-tools/test-tools/helpers/jest-global-teardown.js',
Они обеспечивают запуск сервиса брокера и 1С предприятия, а так же подготовку внешних отчетов/обработок для тестирования.
Использование
Пример тестов можно посмотреть в репозитории проекта. Там же можно посмотреть пример недомока, который в дальнейшем планируется генерировать автоматически, для более удобного написания тестов.
Чтобы каждый раз для запуска тестов не ждать, пока запустится окружение, можно воспользоваться скриптом start-up-test-env
npx start-up-test-env
или
yarn start-up-test-env
Аналогично запускаются другие скрипты:
-
shut-down-test-env
предназначен для остановки работы 1С предприятия -
stop-polling
предназначен для остановки цикла опроса сервиса брокера со стороны 1С предприятия
Само выполнение тестов запускается
npx jest
или
yarn jest
Дополнительно
PS: На ванильном js проект не тестировался, но есть мнение, что все будет хорошо :)