mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
assert: add more information to AssertionErrors
This adds information about the actual thrown error to the AssertionError's message property. It also improves the logged error instances error name by using the constructors name, if available. PR-URL: https://github.com/nodejs/node/pull/28263 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user