בדוק את החבילות הטובות מסוגן כדי לקבל את פונקציונליות הבדיקה הטובה ביותר שיש ל-Node להציע.

בדיקה היא חלק חשוב בכל תהליך פיתוח תוכנה שכן היא מזהה בעיות ופגיעות אבטחה עם הקוד שלך לפני שאתה שולח אותו.

המערכת האקולוגית של Node.js מציעה מגוון חבילות בדיקה כדי לעזור לך להבטיח את המהימנות, האיכות והביצועים של היישומים שלך. כאן תוכלו לחקור את ארבע חבילות הבדיקה המובילות במערכת האקולוגית של Node.js.

Jest היא מסגרת בדיקה המספקת פתרון בדיקה קל לשימוש ומקיף עבור בסיסי קוד של JavaScript. פותח על ידי Meta, Jest מציע תכונות כגון ביצוע בדיקות מקבילות, כיסוי קוד, מובנה תואמים להצהרות, לעג ובדיקת תמונת מצב, מה שהופך אותו לבדיקה רבת עוצמה ורב-תכליתית מִסגֶרֶת.

אתה יכול להתקין את Jest על ידי הפעלת הפקודה למטה:

npm install --save-dev jest

הנה דוגמה שמדגימה בדיקה עם Jest עבור פונקציה שבודקת אם מספר הוא אי זוגי:

לְתַאֵר("זה מוזר", () => {
מִבְחָן("מחזיר נכון עבור קלט מספר אי זוגי", () => {
מצפה (isOdd(3)).להיות(נָכוֹן);
});

מִבְחָן("מחזיר שקר עבור מספר זוגי", () => {
מצפה (isOdd(2)).להיות(שֶׁקֶר);
});

מִבְחָן("זורק שגיאה עבור קלט שאינו מספר שלם"

instagram viewer
, () => {
לְצַפּוֹת(() => {
זה מוזר(3.5);
}).לזרוק("הקלט אינו מספר שלם");
});

מִבְחָן("זורק שגיאה עבור קלט לא מספרי", () => {
לְצַפּוֹת(() => {
זה מוזר("3");
}).לזרוק("הקלט אינו מספר");
});
});

כאשר אתה מפעיל את חבילת הבדיקה שלמעלה, Jest יבצע כל בדיקה בודדת וישווה את הפלט של הפונקציה עם הערך הצפוי באמצעות לְצַפּוֹת פונקציה ואת להיות ו לזרוק שדכנים. אם הפלט אינו כצפוי, Jest מדווח על בדיקה שנכשלה ומספק הודעת שגיאה מפורטת.

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

Mocha היא מסגרת לבדיקת JavaScript המספקת פתרון גמיש וניתן להרחבה לכתיבת מבחנים עבור יישומי JavaScript. הוא מציע תחביר פשוט ומינימליסטי להגדרת מבחנים.

הוא תומך במספר ספריות הצהרות, כגון המובנה של Node.js לִטעוֹן module, Chai ו- Should.js, בין היתר. תמיכה זו בספריות הצהרות מרובות הופכת את Mocha לבחירה האידיאלית אם אתה מעדיף גמישות בהגדרת הבדיקות שלך.

אתה יכול להתקין את Mocha על ידי הפעלת הפקודה למטה:

npm להתקין מוקה

הנה דוגמה המדגימה בדיקות עם Mocha וה-Node.js לִטעוֹן מודול לפונקציה שמחזירה את הסכום של שני מספרים:

const לטעון = לִדרוֹשׁ('לִטעוֹן');

לְתַאֵר('הוסף מספרים', פוּנקצִיָה() {
זה('הוסף שני מספרים חיוביים', פוּנקצִיָה() {
const תוצאה = addNumbers(3, 5);
assert.strictEqual (תוצאה, 8);
});

זה('הוסף מספר חיובי ושלילי', פוּנקצִיָה() {
const תוצאה = addNumbers(3, -5);
assert.strictEqual (תוצאה, -2);
});
});

כאשר אתה מפעיל את הבדיקה שלמעלה, Mocha מריץ כל בדיקה בודדת בתוך זה בלוקים. עבור כל בדיקה, Mocha מבצע את הקוד בפונקציית הבדיקה, הקוראת ל- הוסף מספרים פונקציה עם ערכי קלט ספציפיים ולאחר מכן משתמשת ב- לִטעוֹן מודול כדי להשוות את הפלט בפועל של הפונקציה עם הפלט הצפוי. אם הבדיקה נכשלת, Mocha מדווח על התוצאה ככשל ומספק מידע על ערכי הפלט הצפויים והממשיים.

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

Ava היא מסגרת לבדיקת JavaScript המתמקדת בביצועים ובמקבילות. הוא נועד להריץ בדיקות במקביל, מה שמאפשר זמני ביצוע מהירים יותר של בדיקות. Ava מגיעה גם עם רץ מבחן מובנה וספריית הצהרות, מה שהופך אותה לפתרון עצמאי לבדיקת יישומי JavaScript.

אתה יכול להתקין את Ava על ידי הפעלת הפקודה למטה:

npm install --save-dev ava

הנה דוגמה המדגימה בדיקה עם Ava עבור פונקציה שמחזירה סכום של שני מספרים:

יְבוּא מִבְחָן מ'אווה';

מִבְחָן('addNumbers מוסיף שני מספרים חיוביים', t => {
const תוצאה = addNumbers(3, 5);
t.is (תוצאה, 8);
});

מִבְחָן('addNumbers מוסיף מספר חיובי ושלילי', t => {
const תוצאה = addNumbers(3, -5);
t.is (תוצאה, -2);
});

כאשר אתה מפעיל את הבדיקות הללו באמצעות Ava, הוא יבצע כל בדיקה וידווח על התוצאות למסוף. אם כל המבחנים יעברו, Ava תדווח שכל המבחנים עברו. אם בדיקות כלשהן נכשלות, Ava תדווח אילו בדיקות נכשלו ותספק מידע על ערכי הפלט הצפויים והממשיים.

חלק מהיתרונות של Ava כוללים את ההתמקדות בביצועים ובמקבילות, מה שמאפשר זמני ביצוע מהירים יותר של בדיקות, במיוחד בפרויקטים עם מספר רב של בדיקות. עם זאת, ל- Ava עשויה להיות עקומת למידה תלולה יותר עבור מפתחים שחדשים בתחביר JavaScript המודרני, כפי שהיא משתמשת מודולי ES ותכונות JavaScript מודרניות אחרות.

Jasmine היא מסגרת לבדיקת פיתוח מונע התנהגות (BDD) עבור יישומי JavaScript. הוא מספק תחביר נקי ואקספרסיבי לכתיבת מבחנים הדומים מאוד לשפה טבעית, מה שמקל על הבנה וכתיבת מבחנים עבור אנשים טכניים ולא טכניים כאחד. Jasmine מגיעה גם עם רץ מבחן וספריית הצהרות מובנית, מה שהופך אותה לפתרון מקיף לבדיקת יישומי JavaScript.

אתה יכול להתקין את Jasmine על ידי הפעלת הפקודה הזו:

npm install --save-dev jasmine

לאחר מכן, עליך לאתחל את Jasmine בספריית העבודה שלך על ידי הפעלת הפקודה למטה:

יסמין איניט

הפקודה למעלה יוצרת א תמיכה תיקייה אצלך מפרט תיקיית (בדיקות). תיקייה זו מכילה את jasmine.json קובץ, המכיל את הגדרת התצורה עבור יסמין.

הנה דוגמה המדגימה בדיקה עם Jasmine עבור פונקציה שבודקת אם מספר זוגי:

לְתַאֵר('שווה', פוּנקצִיָה() {
זה('החזר נכון למספר זוגי', פוּנקצִיָה() {
const תוצאה = שווה(4);
expect (result).toBe(נָכוֹן);
});

זה('החזר שקר למספר אי זוגי', פוּנקצִיָה() {
const תוצאה = שווה(5);
expect (result).toBe(שֶׁקֶר);
});
});

כאשר אתה מפעיל את הבדיקות שלמעלה באמצעות Jasmine, Jasmine תבצע כל בדיקה ותדווח על התוצאות למסוף. אם כל המבחנים יעברו, יסמין תדווח שכל המבחנים עברו. אם בדיקות כלשהן נכשלות, יסמין תדווח אילו בדיקות נכשלו ותספק מידע על ערכי הפלט הצפויים והממשיים.

חלק מהיתרונות של Jasmine כוללים את תחביר ה-BDD שלה, מה שהופך את המבחנים לקריאה יותר לאדם ועוזר לשפר את התקשורת בין חברי צוות טכניים ולא טכניים. עם זאת, ליסמין עשויה להיות עקומת למידה תלולה יותר עבור מפתחים שחדשים במושגי BDD. עם זאת, ראוי לציין שבהשוואה למסגרות בדיקה אחרות, Jasmine דורשת תצורה רבה להגדרה.

בחירת מסגרת בדיקה

בחירת מסגרת בדיקה עבור פרויקט Node.js דורשת שיקול זהיר של מספר גורמים, כולל גישת הבדיקה, קלות השימוש, תמיכה בקהילה, אינטגרציה עם כלים אחרים, וכן ביצועים. אבל בסופו של דבר, הבחירה תלויה בפרויקט שלך, שכן חבילות מסוימות מתאימות יותר לפרויקטים מסוימים מאחרות.