@trading-bot/tests
v1.0.23
Published
## Локальное тестирование * Параллельно запускает все тесты в определенной папке
Downloads
26
Readme
Тесты
Локальное тестирование
- Параллельно запускает все тесты в определенной папке
Интеграционные тесты:
- Готовит сокет сервер на порту 7001 и HTTP сервер на порту 3001
- Создает переменные окружения для апи
- Логирует в консоль инфу + выводит покрытие кода всего проекта
Установка:
npm i @trading-bot/tests @ava/babel @babel/polyfill @babel/register -D
- Определить разделы
scripts, ava, nyc
файлаpackage.json
:
"scripts": {
"test-local": "test-local",
"test-integration": "test-integration"
},
"ava": {
"timeout": "5m",
"files": [
"**/*.test.js"
],
"snapshotDir": "__snapshots__",
"require": [
"@babel/core",
"@babel/polyfill",
"@babel/register"
],
"babel": {
"testOptions": {
"presets": [
"@babel/preset-env"
],
"plugins": [
"@babel/plugin-transform-runtime"
]
}
},
"environmentVariables": {
"WEBSOCKET_SERVER_PORT": "7001",
"REST_SERVER_PORT": "3001",
"BINANCE_WEBSOCKET_MARKET_AGGTRADE": "ws://localhost:7001/marketAggTrade",
"BINANCE_WEBSOCKET_MARKET_BOOKTICKER": "ws://localhost:7001/marketBookTicker",
"BINANCE_WEBSOCKET_MARKET_KLINE": "ws://localhost:7001/marketKline",
"BINANCE_WEBSOCKET_MARKET_PRICE": "ws://localhost:7001/marketPrice",
"BINANCE_WEBSOCKET_USERDATA_MARGIN": "ws://localhost:7001/userDataMargin",
"BINANCE_WEBSOCKET_USERDATA_SPOT": "ws://localhost:7001/userDataSpot",
"BINANCE_REST_USERDATA_LISTENKEY": "http://localhost:3001/userDataListenKey",
"BINANCE_REST_ACCOUNT_INFORMATION": "http://localhost:3001/accountInformation",
"BINANCE_REST_MARKET_KLINES": "http://localhost:3001/marketKlines",
"BINANCE_REST_TRADE_MARGIN_BORROW": "http://localhost:3001/marginBorrow",
"BINANCE_REST_TRADE_MARGIN_CANCELORDER": "http://localhost:3001/marginCancelOrder",
"BINANCE_REST_TRADE_MARGIN_NEWORDER": "http://localhost:3001/marginNewOrder",
"BINANCE_REST_TRADE_SPOT_CANCELORDER": "http://localhost:3001/spotCancelOrder",
"BINANCE_REST_TRADE_SPOT_NEWORDER": "http://localhost:3001/spotNewOrder",
"BINANCE_REST_TRADE_SPOT_QUERYORDER": "http://localhost:3001/spotQueryOrder"
}
},
"nyc": {
"all": true,
"check-coverage": true,
"branches": 100,
"lines": 100,
"functions": 100,
"statements": 100,
"include": [
"**/*.js"
],
"exclude": [
"**/*.test.js"
],
"parser-plugins": [
"asyncGenerators",
"bigInt",
"classProperties",
"classPrivateProperties",
"dynamicImport",
"importMeta",
"objectRestSpread",
"optionalCatchBinding"
]
},
Команды:
test-local
- запуск локальных тестов в определенной папке. Параллельное выполнение.test-integration
- запуск тестов в определенной папке. Можно указать конкретный файлtest-integration ./example1.test.js
. Последовательное выполнение.
Особенности:
- Все пути к любым ресурсам в тестируемом модуле через path.resolve
- В проекте названия папок должно быть без пробелов
Примеры в папке examples