Η ενσωματωμένη μονάδα assert του Node.js παρέχει ένα πλαίσιο ισχυρισμών για έλεγχο αναλλοίωτων σε δοκιμές και επικυρώσεις χρόνου εκτέλεσης.
Αυστηρά Assertions (Συνιστάται)
Εισάγετε πάντα το assert/strict σε σύγχρονο Node.js ώστε να επιβάλλεται αυστηρή ισότητα (===):
const assert = require('assert/strict');
// ή import assert from 'node:assert/strict';
Αληθοφάνεια (Truthiness) & Ισότητα
// Έλεγχος αληθούς τιμής
assert(val, 'Expected value to be truthy');
assert.ok(val, 'Ψευδώνυμο του assert()');
// Αυστηρή ισότητα (===)
assert.equal(actual, expected);
assert.notEqual(actual, expected);
// Αυστηρή βαθιά ισότητα αντικειμένων
assert.deepEqual({ a: 1, b: [2] }, { a: 1, b: [2] });
assert.notDeepEqual({ a: 1 }, { a: 2 });
Διαχείριση Σφαλμάτων & Εξαιρέσεων
assert.throws()
Επαληθεύει ότι μια συνάρτηση εγείρει το αναμενόμενο σφάλμα:
assert.throws(
() => {
throw new TypeError('Invalid parameter');
},
{
name: 'TypeError',
message: 'Invalid parameter'
}
);
assert.doesNotThrow()
Επαληθεύει ότι ένα μπλοκ εκτελείται χωρίς αδιαχείριστη εξαίρεση:
assert.doesNotThrow(() => {
safeOperation();
});
Ασύγχρονα Assertions
// Επιβεβαίωση απόρριψης (rejection) για promises
await assert.rejects(
async () => {
await fetchInvalidUrl();
},
{
name: 'TypeError'
}
);
// Επιβεβαίωση επιτυχούς ολοκλήρωσης (resolution) για promises
await assert.doesNotReject(async () => {
await fetchValidUrl();
});