J'aimerais que mes tests unitaires affirment qu'un appel de fonction particulier déclenche une erreur AssertionError spécifiquement quand il est attendu, plutôt que de lancer une exception. La bibliothèque d'assertion (expect) supporte une telle chose en passant un constructeur d'exceptions, mais je n'arrive pas à trouver où, si n'importe où, le constructeur AssertionError est exporté. Est-il destiné à être une classe interne seulement et non exposée à nous? The docs contient de nombreuses références, mais pas de liens.Où est définie AssertionError dans Node.js?
J'ai un moyen super aki:
let AssertionError;
try {
const assert = require("assert");
assert.fail();
}
catch (ex) {
AssertionError = ex.constructor;
}
mais j'espère qu'il ya une meilleure façon.
Hmm ... Je prends du 'lib/interne 'Dans le chemin qu'il n'est pas destiné à la consommation publique. Zut. –
En ce qui concerne mon extrait ci-dessus, je ne redéfinis pas 'AssertionError', juste en y faisant référence. Je ne suis pas sûr de ce que vous entendez par "étendre cette classe à MyAssertionError". J'utilise la bibliothèque 'assert' intégrée de Node, donc je ne peux pas lui dire quelle classe d'erreur utiliser, elle utilisera toujours' AssertionError'. –
@TurnerHayes - est-ce que ma réponse précédente est ce que vous cherchez? – fider