diff options
Diffstat (limited to 'lib/assert.js')
-rw-r--r-- | lib/assert.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/assert.js b/lib/assert.js index 50ab6b39b1..0b256e604e 100644 --- a/lib/assert.js +++ b/lib/assert.js @@ -620,8 +620,13 @@ function expectedException(actual, expected, message, fn) { generatedMessage = true; message = 'The error is expected to be an instance of ' + `"${expected.name}". Received `; + // TODO: Special handle identical names. if (isError(actual)) { - message += `"${actual.name}"`; + const name = actual.constructor && actual.constructor.name; + message += `"${name || actual.name}"`; + if (actual.message) { + message += `\n\nError message:\n\n${actual.message}`; + } } else { message += `"${inspect(actual, { depth: -1 })}"`; } @@ -636,6 +641,10 @@ function expectedException(actual, expected, message, fn) { const name = expected.name ? `"${expected.name}" ` : ''; message = `The ${name}validation function is expected to return` + ` "true". Received ${inspect(res)}`; + + if (isError(actual)) { + message += `\n\nCaught error:\n\n${actual}`; + } } throwError = true; } |