JavaScript:
כתיבת בדיקות

איך לעשות:

גישה טבעית (באמצעות Jest)

Jest הוא מסגרת בדיקות פופולרית שמספקת API ידידותי לכתיבת בדיקות יחידה ב-JavaScript. היא דורשת מעט הגדרה ומגיעה עם תכונות כמו פונקציות מדמה, טיימרים ובדיקת Snapshot.

  1. התקנה:
npm install --save-dev jest
  1. כתיבת בדיקה פשוטה:

יצירת קובץ בשם sum.test.js:

const sum = require('./sum'); // נניח שפונקציה זו פשוט מחברת שני מספרים

test('מוסיף 1 + 2 לקבלת 3', () => {
  expect(sum(1, 2)).toBe(3);
});
  1. הרצת הבדיקה שלך:
npx jest

פלט לדוגמא:

PASS  ./sum.test.js
✓ מוסיף 1 + 2 לקבלת 3 (5ms)

בדיקת קוד אסינכרוני

Jest מקל על בדיקת promises ותחביר async/await:

// asyncSum.js
async function asyncSum(a, b) {
  return Promise.resolve(a + b);
}

// asyncSum.test.js
test('חיבור אסינכרוני עובד', async () => {
  await expect(asyncSum(1, 2)).resolves.toBe(3);
});

שימוש בספריות צד שלישי (Mocha & Chai)

Mocha היא מסגרת בדיקות פופולרית נוספת, שלעיתים קרובות משמשת יחד עם ספריית ההבטחות Chai לבדיקות יותר אקספרסיביות.

  1. התקנה:
npm install --save-dev mocha chai
  1. כתיבת בדיקה עם Mocha ו-Chai:

יצירת calculate.test.js:

const chai = require('chai');
const expect = chai.expect;

const calculate = require('./calculate'); // מודול חישוב פשוט

describe('Calculate', function() {
  it('אמור לחבר שני ערכים', function() {
    expect(calculate.sum(5, 2)).to.equal(7);
  });
});
  1. הרצת הבדיקות שלך עם Mocha:

הוסף סקריפט ב-package.json שלך:

"scripts": {
  "test": "mocha"
}

לאחר מכן הרץ:

npm test

פלט לדוגמא:

  Calculate
    ✓ אמור לחבר שני ערכים


  1 passing (8ms)

דוגמאות אלו ממחישות כתיבת והרצת בדיקות בסיסית ב-JavaScript. אימוץ מסגרת בדיקות כמו Jest או Mocha יחד עם Chai יכול לספק בסיס מוצק לבדיקות יישום עמידות, שעוזר לוודא שהקוד שלך מתפקד כצפוי לאורך עדכונים ושינויי מבנה.