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"
}
}
乾杯。