10 כלי בדיקת JavaScript אמינים

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

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

AVA

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

התקן את AVA

הוראות להתקנת AVA ניתן למצוא בעמוד GitHub של הפרויקט.

Cucumber.js

יישום ה- JavaScript של כלי הבדיקה Cucumber, Cucumber.js פועל בגרסאות Node.js המתוחזקות ובדפדפני אינטרנט מודרניים. פרויקט המלפפון מציין יתרונות הכוללים תקשורת צוותית ויכולת להריץ מבחנים אוטומטיים שנכתבו בשפה "רגילה", כלומר כל אחד בצוות יכול לקרוא אותם. כך ניתן לשפר תקשורת, שיתוף פעולה ואמון. Cucumber.js כולל קובץ הפעלה להפעלת חבילות הבדיקה שלך (הנקראות תכונות), ולכן אינו פועל כאשר הוא מותקן ברחבי העולם. (חובה להידרש למלפפון בקבצי תמיכה ולא ניתן לדרוש מודולים המותקנים ברחבי העולם).

התקן את Cucumber.js

הוראות להתקנת Cucumber.js זמינות ב- GitHub.

אֶנזִים

אנזים הוא כלי בדיקה לספריית ממשק המשתמש React JavaScript. זה נועד להקל על בדיקת התפוקה של רכיבי React. מפתחים יכולים לתפעל, לעבור ולדמות זמן ריצה בהתחשב בתפוקה. ממשק ה- API של Enzyme מחקה את ה- API של jQuery למניפולציה ולמעבר DOM. אנזים אינו יודע את דעתך על רץ הבדיקה או ספריית הקביעה. אם מפתחים רוצים להשתמש באנזים עם קביעות מותאמות אישית ופונקציות נוחות לבדיקת רכיבי תגובה, הם יכולים לשקול chai-enzymeעם מוקה / חי, jasmine-enzymeעם יסמין או jest-enzymeעם ג'סט. ניתן להשתמש באנזים לבדיקת רכיבי Native React.

התקן את האנזים

הוראות להתקנת אנזים ניתן למצוא ב- GitHub. 

קארמה

קארמה היא רץ מבחנים עבור JavaScript המאפשר ביצוע קוד במספר דפדפנים. כל הדפדפנים העיקריים, כולל דפדפנים ניידים, נתמכים. המפתחים שעומדים מאחורי הפרויקט טוענים כי קארמה מציעה סביבה בה מפתחים אינם צריכים להגדיר המון תצורות, אלא יכולים לכתוב קוד ולקבל משוב מיידי מהבדיקות. קארמה מיועדת לבדיקות ברמה נמוכה (יחידה). לא מסגרת בדיקה או ספריית קביעה, קארמה משיקה שרת HTTP ומייצרת קובץ רץ מבחן ממסגרת הבדיקות המועדפת על היזם. תוספים מוצעים למסגרות כגון יסמין, מוקה ו- QUnit.

התקן את קארמה

הוראות להתקנת קארמה זמינות ב- GitHub.

יַסמִין

יסמין מחויבת כמסגרת "מונחית התנהגות" לבדיקת JavaScript. אין לו תלות במסגרות JavaScript אחרות ואינו זקוק ל- DOM. תומכיה מציינים את התחביר שלה כמאפשר כתיבה קלה של מבחנים. שמור על ידי מעבדות Pivotal, יסמין מתאימה לבדיקת אתרים, פרויקטים של Node.js, וכל דבר אחר בו ניתן להריץ JavaScript. יסמין נועדה להקל על הבדיקה במגוון מקרי שימוש ודפדפנים שונים והיא מסגרת אגנוסטית של JavaScript, ומאפשרת למפתחים לבדוק קוד מ- React או Angular או מכל ספריית JavaScript אחרת. יסמין שואפת לתלות מינימלית תוך שהיא נשארת קטנה ומתוחזקת.

התקן את יסמין

הוראות להתקנת יסמין ולהתחלה עם יסמין ניתן למצוא ב- GitHub.

צְחוֹק

Jest מחויב כפתרון בדיקות JavaScript מקיף שעובד מהקופסה, ללא תצורה, עבור מרבית פרויקטים של JavaScript. לבדיקות יש מצב גלובלי ייחודי וניתן להפעיל אותן במקביל. קודם נערכות בדיקות שנכשלו בעבר, עם ריצות מחודשות על סמך אורך קבצי הבדיקה. פשוט עובד עם טכנולוגיות JavaScript פופולריות כולל Angular, Babel, Node.js, React ו- Vue. ניתן להריץ בדיקות כדי לעקוב אחר אובייקטים גדולים, עם תמונות שצולמות לצד בדיקות או מוטבעות מוטבעות. בתיקי הבדיקה Jest מכניס שיטות ואובייקטים לסביבה הגלובלית, ללא צורך לייבא אותם.

התקן את Jest

הוראות להתקנת Jest ניתן למצוא ב- GitHub. 

לונה

לונה היא מסגרת בדיקות יחידה דעתנית עבור JavaScript שאינה דורשת כל תצורה. בתיעוד המוצר ניתן למפתחים לבצע את בדיקות היחידות הראשונות שלהם בתוך מספר דקות. דוחות כיסוי קוד נוצרים ללא התקנת מודולים אחרים. יש לכתוב את הבדיקות כמודולי ES6, כאשר המבחנים מופעלים בדפדפן כברירת מחדל. תמיכה במקביליות, כאשר קבוצות בדיקה פועלות במקביל. לונה קיבלה השראה חלקית מהבדיקות המובנות הזמינות לשפת ה- Go של גוגל. לונה אינה מתאימה לשידור, ולכן לא תפעל עם CoffeeScript או TypeScript. זה גם חסר תמיכה בדפדפנים ישנים. 

התקן את לונה

הוראות להתקנת לונה זמינות ב- GitHub. 

מוקה

מסגרת בדיקה עשירה בתכונות הפועלת ב- Node.js ובדפדפן, מוקה מבטיחה להפוך את הבדיקה של קוד אסינכרוני ל"פשוט ומהנה ". המבחנים נערכים באופן סדרתי, שלדברי התומכים מאפשרים דיווח מדויק וגמיש תוך מיפוי חריגים שלא נתפסו למקרי בדיקה מדויקים. לבדיקות מתמשכות, מפתחים יכולים להשתמש בכלי Wallaby.js כדי לאפשר כיסוי קוד בזמן אמת למוקה עם כל ספריית קביעה. Mocha משתלב גם עם מסגרות יישומים, כגון באמצעות Konacha, המאפשר למפתחים להשתמש ב- Mocha כדי לבדוק JavaScript ביישומי Ruby on Rails. מספר תוספים לעורך זמינים גם כן, כגון סיומת סרגל הצד של Mocha עבור קוד Visual Studio. 

התקן את מוקה

הוראות להתקנת מוקה ותיעוד לתכונות הרבות של מוקה זמינות באתר הפרויקט. 

מַד זָוִית

מד זווית היא מסגרת בדיקות מקצה לקצה עבור Angular וקודמתה, AngularJS. בדיקות מתבצעות כנגד יישומים בדפדפן, כאשר Proctractor מתקשר עם יישום בדיוק כמו שמשתמש היה עושה. תומכות באסטרטגיות איתור ספציפיות של זווית, לבדיקת אלמנטים זוויתיים ללא כל התקנה. יכולת המתנה אוטומטית מאפשרת ל- Protractor לבצע את השלב הבא במבחן ברגע שדף אינטרנט מסיים בדיקות ממתינות. מד זווית נבנה על גבי WebdriverJS, יישום JavaScript של כלי האוטומציה של דפדפן סלניום המשמש לבדיקה.

התקן מד זווית

הוראות להתקנת מד זווית ניתן למצוא באתר מד זווית. 

QUnit

QUnit היא מסגרת בדיקות של יחידת JavaScript המשמשת את הפרויקטים JQuery, jQuery UI ו- jQuery Mobile. למעשה QUnit פותח במקור כחלק מ- jQuery על ידי ממציא jQuery ג'ון רזיג. חיוב QUnit מהיר וקל לשימוש, עם ממשק API דעתני אך רזה ומתרחב, וניתן להשתמש בו לבדיקת כל קוד JavaScript כללי. כאשר בדיקה או קביעה נכשלים, QUnit מבטיח לספק משוב במהירות האפשרית, עם פירוט מספיק בכדי להבין את הנושא. שיטות קביעה ב- QUnit עוקבות אחר מפרט הבדיקות של יחידת CommonJS. QUnit תומך בדפדפנים המגובים על ידי jQuery 3.x, כולל גרסאות של Chrome, Edge, Firefox, Internet Explorer ו- Safari.

התקן את QUnit

באפשרותך להוריד ולהתקין QUnit מאתר QUnit או מ- jQuery.cdn.