e1c-test-tools v0.1.2
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:3000PATH_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 проект не тестировался, но есть мнение, что все будет хорошо :)