Ошибка типа: путь должен быть строкой. Получил неопределенный
У меня постоянная ошибка при использовании serverless
рамки с serverless-offline
а также jest
модуль модульного тестирования.
Я пытаюсь протестировать свою безсерверную функцию (лямбда), используя serverless-jest-plugin
который должен интегрировать jest
на serverless
, Следующее мое jest
конфигурация в моем serverless.yml
:
custom:
default:
stage: dev
table:
dictionary: Dictionary
rules: Rules
jest:
verbose: true
testResultsProcessor: jest-junit
modulePaths: ["<rootDir>/node_modules", "<rootDir>/lib"]
roots: ["<rootDir>/tests"]
testEnvironment: node
plugins:
- serverless-jest-plugin
- serverless-dynamodb-local
- serverless-offline
У меня есть лямбда-функция, которая использует DynamoDB для получения некоторых данных и т. Д.
Всякий раз, когда я использую sls invoke test
У меня есть следующее:
$ sls invoke test
FAIL tests/file.test.js
● Test suite failed to run
TypeError: Path must be a string. Received undefined
at assertPath (path.js:7:11)
at Object.relative (path.js:1226:5)
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.386s
Ran all test suites.
Я управляю следующим package.json
:
{
"dependencies": {
"ajv": "^6.1.1",
"async": "^2.6.0",
"aws-sdk": "^2.188.0",
"notevil": "^1.1.0"
},
"devDependencies": {
"jest": "^22.2.1",
"jest-junit": "^3.5.0",
"serverless-dynamodb-local": "^0.2.27",
"serverless-jest-plugin": "^0.1.6",
"serverless-offline": "^3.16.0"
}
}
Приветствия.