إختبار الحالات الطرفية بدل المثال السهل فقط
الاختبار الجيد يشمل القائمة الفاضية والقيمة على الحد ومدخل غير صالح مش الحالة العادية بس
شغل المثال بإستخدام Node.js لتوضيح الفكرة ويمكن تطبيق نفس المبدأ في لغات تانية
المثال العملي
import assert from 'node:assert/strict';
function average(numbers) {
if (numbers.length === 0) return null;
if (!numbers.every(Number.isFinite)) throw new TypeError('Numbers Only');
return numbers.reduce((sum, value) => sum + value, 0) / numbers.length;
}
assert.equal(average([10, 20]), 15);
assert.equal(average([]), null);
assert.equal(average([0]), 0);
assert.throws(() => average(['10']), TypeError);
console.log('4 Checks Passed');النتيجة
4 Checks Passedالقيمة null هنا قرار واضح للقائمة الفاضية والصفر نتيجة صحيحة مختلفة عنها والمدخل النصي مرفوض
جرب بنفسك
أضف اختبار أرقام سالبة واختبار Infinity وتأكد من بقاء جميع الاختبارات ناجحة