Understanding Mocha Error Codes
In this tutorial we will be examining the error codes you can get while running a mocha test.
This feature is new in V6.0.0. when Mocha throws an error by itself, the associated Error has a code property. Where it is applicable, the consumers have to check the code property rather than string-matching against the message property. Below is a table that describes each of the erro codes.
Code | Description |
---|---|
ERR_MOCHA_INVALID_ARG_TYPE | This signifies that the wrong type was passed for a given argument. |
ERR_MOCHA_INVALID_ARG_VALUE | This signifies that an invalid or unsupported value was passed for a given argument. |
ERR_MOCHA_INVALID_EXCEPTION | This signifies that a falsy or otherwise underspecified exception was thrown. |
ERR_MOCHA_INVALID_INTERFACE | This signifies that the interface specified in options is not found. |
ERR_MOCHA_INVALID_REPORTER | This means that the reporter specified in options is not found. |
ERR_MOCHA_NO_FILES_MATCH_PATTERN | The test file(s) could not be found |
ERR_MOCHA_UNSUPPORTED | The requested behavior, option, or parameter is not supported. |
'use strict';
/**
* @module Errors
*/
/**
* Factory functions that creates throwable error objects
*/
will create an error object to be thrown when no files to be tested could be found using specified pattern.
function createNoFilesMatchPatternError(message, pattern) {
var err = new Error(message);
err.code = 'ERR_MOCHA_NO_FILES_MATCH_PATTERN';
err.pattern = pattern;
return err;
}
will create an error object to be thrown when the reporter specified in the options was not found.
function createInvalidReporterError(message, reporter) {
var err = new TypeError(message);
err.code = 'ERR_MOCHA_INVALID_REPORTER';
err.reporter = reporter;
return err;
}
will create an error object to be thrown when the interface specified in the options was not found.
function createInvalidInterfaceError(message, ui) {
var err = new Error(message);
err.code = 'ERR_MOCHA_INVALID_INTERFACE';
err.interface = ui;
return err;
}
will create an error object to be thrown when a behavior, option, or parameter is unsupported.
function createUnsupportedError(message) {
var err = new Error(message);
err.code = 'ERR_MOCHA_UNSUPPORTED';
return err;
}
will create an error object to be thrown when an argument is missing.
function createMissingArgumentError(message, argument, expected) {
return createInvalidArgumentTypeError(message, argument, expected);
}
will create an error object to be thrown when an argument did not use the supported type
function createInvalidArgumentTypeError(message, argument, expected) {
var err = new TypeError(message);
err.code = 'ERR_MOCHA_INVALID_ARG_TYPE';
err.argument = argument;
err.expected = expected;
err.actual = typeof argument;
return err;
}
will create an error object to be thrown when an argument did not use the supported value
function createInvalidArgumentValueError(message, argument, value, reason) {
var err = new TypeError(message);
err.code = 'ERR_MOCHA_INVALID_ARG_VALUE';
err.argument = argument;
err.value = value;
err.reason = typeof reason !== 'undefined' ? reason : 'is invalid';
return err;
}
will create an error object to be thrown when an exception was caught, but the `Error` is falsy or undefined.
function createInvalidExceptionError(message, value) {
var err = new Error(message);
err.code = 'ERR_MOCHA_INVALID_EXCEPTION';
err.valueType = typeof value;
err.value = value;
return err;
}
module.exports = {
createInvalidArgumentTypeError: createInvalidArgumentTypeError,
createInvalidArgumentValueError: createInvalidArgumentValueError,
createInvalidExceptionError: createInvalidExceptionError,
createInvalidInterfaceError: createInvalidInterfaceError,
createInvalidReporterError: createInvalidReporterError,
createMissingArgumentError: createMissingArgumentError,
createNoFilesMatchPatternError: createNoFilesMatchPatternError,
createUnsupportedError: createUnsupportedError
};
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/mocha/error-codes.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics