בפעם הראשונה שניסיתי לשלב בדיקות יחידה בקוד פרויקט אמיתי הסיפור התפוצץ מהר מאוד. את התחביר של בדיקות יחידה וספרית בדיקות קלטתי מהר, אבל מספר שבועות לתוך הקידוד נראה היה שהבדיקות רק מעכבות. כל פיצ׳ר חדש דרש בנוסף לבדיקות שלו גם התאמה של כל הבדיקות הקודמות שכתבתי, וכך מהר מאוד בדיקות יצאו מתוקף ונשברו. התכנון היה לתקן את הבדיקות בהמשך כשיהיה זמן, וזה מעולם לא קרה.
בפעם השניה שניסיתי לשלב בדיקות יחידה בתוכנית כבר הייתי נחוש להצליח. תכננתי לעומק איזה בדיקות לכתוב ואיך לשריין זמן לתחזוקה שלהן, אבל כלום לא עזר ושוב הבדיקות הפכו מהר מאוד לנטל.
רק אחרי שהתחלתי ללמוד את הנושא לעומק הבנתי את הטעויות האמיתיות. הבנתי שבדקתי את הדברים הלא נכונים, ובצורות הלא נכונות. והבעיה עם בדיקות לא נכונות היא שאין לכם מושג שאתם טועים עד שזה מאוחר מדי והדבר היחיד שנותר זה למחוק את כל חבילת הבדיקות ולהתחיל מהתחלה. היום בדיקות יחידה הן חלק בלתי נפרד מתהליך הפיתוח, גם בקוד אתר ToCode וגם בפרויקטים אחרים שאני עובד עליהם. בדיקות יחידה שנכתבות נכון הן נכס שחי יחד עם הפרויקט וככל שיש יותר מהן כך מהירות הפיתוח רק עולה.
בקורס זה אני רוצה לשתף אתכם את המסקנות, הכשלונות וההצלחות של איך כותבים בדיקות יחידה בצורה חכמה ליישומי JavaScript. הקורס מניח שאתם מתכנתי JavaScript שיודעים מה אתם עושים, מתחיל בהצגת תחביר Jasmine וממשיך ל Best Practices ודוגמאות מהחיים של איך ומה לבדוק כדי שהבדיקה תתן ערך אמיתי ותצדיק את הזמן של הכתיבה והתחזוקה שלה. העקרונות בקורס זה שינו את האופן בו אני כותב קוד, ואני בטוח שישפיעו כך גם עליכם.
הי! אני ינון פרק. אני מתכנת שכותב קוד כל יום מאז שנת 2002, ומשנת 2012 גם מדריך קורסים בפיתוח למתכנתים בחברות תוכנה מובילות בארץ. בין השאר לימדתי ב Intel, IBM, Amdocs, Sapiens, eBay ובעוד עשרות חברות הייטק נוספות כאן בארץ.
את הקורסים באתר אני מלמד כמו שאני מלמד קורסים בכיתה: בצורה יסודית, תוך התעמקות בפרטים ובמטרה לתת לכם הבנה טובה של המנגנונים. בשביל להצליח לבנות פרויקט או להתקבל לעבודה לא מספיק לדעת לבנות משהו, צריך גם להבין בדיוק איך זה עובד.
היכרות עם ספריית Jasmine, עקרונות פיתוח בדיקות יחידה ו Best Practices לפיתוח בדיקות יחידה איכותיות לפרויקט שלכם.