diff --git a/lib/plugins/aws/invokeLocal/index.js b/lib/plugins/aws/invokeLocal/index.js index 91332030d..bf32955ca 100644 --- a/lib/plugins/aws/invokeLocal/index.js +++ b/lib/plugins/aws/invokeLocal/index.js @@ -329,6 +329,7 @@ class AwsInvokeLocal { errorResult = { errorMessage: err.message, errorType: err.constructor.name, + stackTrace: err.stack.split('\n'), }; } else { errorResult = { diff --git a/lib/plugins/aws/invokeLocal/index.test.js b/lib/plugins/aws/invokeLocal/index.test.js index 4bd83d751..c8bba83f4 100644 --- a/lib/plugins/aws/invokeLocal/index.test.js +++ b/lib/plugins/aws/invokeLocal/index.test.js @@ -582,8 +582,11 @@ describe('AwsInvokeLocal', () => { awsInvokeLocal.invokeLocalNodeJs('fixture/handlerWithError', 'withError'); - expect(serverless.cli.consoleLog.lastCall.args[0]).to.contain('"errorMessage": "failed"'); - expect(serverless.cli.consoleLog.lastCall.args[0]).to.contain('"errorType": "Error"'); + const logMessageContent = JSON.parse(serverless.cli.consoleLog.lastCall.args[0]); + + expect(logMessageContent.errorMessage).to.equal('failed'); + expect(logMessageContent.errorType).to.equal('Error'); + expect(logMessageContent.stackTrace[0]).to.equal('Error: failed'); }); it('should log Error object if handler crashes at initialization', () => {