UNPKG

e1c-test-tools

Version:

Набор инструментов для тестирования (предварительная версия)

104 lines (68 loc) 5.46 kB
# 1C enterprise test tools Набор инструментов для тестирования (предварительная версия) ## Установка ``` bash npm install -D e1c-test-tools ``` или ``` bash yarn add -D e1c-test-tools ``` Дополнительно необходимо установить [jest](https://jestjs.io/) ``` bash npm install -D jest ``` или ``` bash yarn add -D jest ``` и в случае с моими примерами [ts-jest](https://www.npmjs.com/package/ts-jest) с указанными зависимостями. ## Настройка ### Переменные окружения `.env` Основные настройки на данный момент хранятся в `.dev`, пример настроек в [.sample-env](https://raw.githubusercontent.com/cinex-ru/e1c-test-tools/master/.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С предприятия, так как это указано в [документации](https://its.1c.ru/db/v8318doc/bookmark/adm/TI000000810) для соответствующего типа БД. - `E1C_USER` и `E1C_USER` (требуется, если есть авторизация) пользователь и пароль базы 1С предприятия аналогично флагам `/N` и `/P` в [документации](https://its.1c.ru/db/v8318doc/bookmark/adm/TI000000811) - `PATH_TO_EXTERNAL_BIN_FILE` (необязательно) путь к файлу внешнего отчета или обработки, который планируется тестировать, на данный момент возможно указать только один файл - `PATH_TO_MOCKED_EXTERNAL_BIN_FILES` (необязательно) путь к директории, где по-вашему мнению должны располагаться отчеты/обработки подготовленные к тестированию - `PATH_TO_TESTER_EXTERNAL_BIN_FILE` (необязательно) путь к файлу обработки, которая используется для тестирования. Если не указывать, то используется обработка по умолчанию. ### Настройка jest ``` bash npx ts-jest config:init ``` или ``` bash yarn ts-jest config:init ``` Для js вместо этого нужно выполнить `jest --init`, с использованием `npx` или `yarn` соответственно, или без, если `jest` установлен глобально. Далее для глобальных сетапа и тирдауна необходимо добавить в `jest.config.js` следующие поля: ```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С предприятия, а так же подготовку внешних отчетов/обработок для тестирования. ## Использование [Пример тестов](https://github.com/cinex-ru/e1c-test-tools/blob/master/tests/tester.spec.ts) можно посмотреть в репозитории проекта. Там же можно посмотреть [пример недомока](https://github.com/cinex-ru/e1c-test-tools/blob/master/tests/__e1c-mocks__/TesterEpf.ts), который в дальнейшем планируется генерировать автоматически, для более удобного написания тестов. Чтобы каждый раз для запуска тестов не ждать, пока запустится окружение, можно воспользоваться скриптом `start-up-test-env` ``` bash npx start-up-test-env ``` или ``` bash yarn start-up-test-env ``` Аналогично запускаются другие скрипты: - `shut-down-test-env` предназначен для остановки работы 1С предприятия - `stop-polling` предназначен для остановки цикла опроса сервиса брокера со стороны 1С предприятия Само выполнение тестов запускается ``` bash npx jest ``` или ``` bash yarn jest ``` ## Дополнительно PS: На ванильном js проект не тестировался, но есть мнение, что все будет хорошо :)