הזמן הכי טוב לתקן בדיקה
הזמן הכי טוב לתקן בדיקה הוא בדיוק ברגע שכתבת את הקוד ששבר אותה. ככל שמתרחקים מאותו הרגע קורים שני דברים רעים:
אתה שוכח מה עשית ולמה זה שבר את הבדיקה.
בדיקות נוספות נשברות בגלל שינויים חדשים.
כמעט בכל פרויקט, אם אני מעביר חודשיים בלי להריץ את הבדיקות - אפילו אם באמת לא שברתי כלום מבחינת הלוגיקה של המערכת - עדיין יהיו לי לא מעט בדיקות שבורות לתקן.
בעבודה עם גיט קל לייצר תהליך עבודה אוטומטי שמריץ את הבדיקות לפני הקומיט. בהנחה שאתם בפרויקט node ומריצים את הבדיקות עם npm test
כל מה שצריך לעשות זה ליצור סקריפט חדש בתיקיית .git/hooks
ולקרוא לו בשם pre-commit
, בתוכו לכתוב את התוכן:
#!/bin/sh
echo "*****Running unit tests******"
git stash -q --keep-index
npm test
status=$?
git stash pop -q
exit $status
ולתת לו הרשאות הרצה:
$ chmod +x .git/hooks/pre-commit
בפעם הבאה שתנסו לעשות commit לקוד גיט קודם כל יריץ את הבדיקות ויצעק עליכם אם משהו נכשל.
נ.ב. בפרויקט שנוצר עם create-react-app צריך להפעיל את שורת הרצת הבדיקות ובמקום לכתוב npm test
נכתוב שם npm test -- --watchAll=false
כדי להריץ את הבדיקות פעם אחת ולא לעקוב אחרי שינויים בקבצים.