ฟังก์ชัน assert.notDeepEqual ตรวจสอบความไม่เท่ากันแบบลึก (deep inequality) ระหว่าง actual และ expected ใช้การเปรียบเทียบแบบ loose (==) สำหรับค่า primitive หากทั้งสองค่า deep equal จะโยนข้อผิดพลาด
ไวยากรณ์
assert.notDeepEqual(actual, expected[, message])
พารามิเตอร์
- actual – ค่าจริง
- expected – ค่าที่คาดหวัง
- message – ข้อความเมื่อเท่ากัน (ทางเลือก)
ตัวอย่าง: ออบเจกต์เท่ากัน
const assert = require('assert').strict;
try {
assert.notDeepEqual({ a: '21' }, { a: '21' });
} catch (error) {
console.log("Error: ", error);
}
ผลลัพธ์
Error: {
AssertionError [ERR_ASSERTION]: Identical input passed to notDeepStrictEqual:
{ a: '21' }
...
operator: 'notDeepStrictEqual'
}
ตัวอย่าง: ออบเจกต์ไม่เท่ากัน (ชนิดต่างกัน)
try {
assert.notDeepEqual({ a: 21 }, { a: '21' });
console.log("Values are not identical");
} catch (error) {
console.log("Error: ", error);
}
ผลลัพธ์
Values are not identical
ค่าหนึ่งเป็น number อีกค่าเป็น string จึงไม่ deep equal