כיצד לכתוב בדיקות יחידה ב-C# לאיכות קוד טובה יותר

Kyzd Lktwb Bdyqwt Yhydh B C L Ykwt Qwd Twbh Ywtr



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

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

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







סביבת בדיקה

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



כדי לעקוב ולשכפל את היישום במדריך זה, ודא שיש לך את הדברים הבאים:



  1. הותקן Visual Studio
  2. כלי NET ו-C# מוגדרים במחשב שלך

צור אפליקציה

לאחר מכן, פתח את Visual Studio וצור פתרון חדש. עבור הדרכה זו, נבנה אפליקציית מחשבון בסיסית. אתה יכול לתת לאפליקציה כל שם שתרצה.





לאחר מכן, צור פרויקט חדש ובחר את סוג הפרויקט כ- MSTest Test Project ותן לו כל שם רצוי.



הקפד לבחור 'הוסף לפתרון' ובחר באפליקציה שנוצרה קודם לכן.

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

כתוב את הקוד עבור אפליקציית המחשבון

השלב הבא הוא כתיבת הקוד עבור אפליקציית המחשבון שלנו. נוכל לעשות זאת בקובץ CalcApp 'program.cs'.

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

מחשבון כיתה ציבורית
{
פּוּמְבֵּי לְהַכפִּיל לְהוֹסִיף ( לְהַכפִּיל א , לְהַכפִּיל ב )
{
לַחֲזוֹר א + ב ;
}

פּוּמְבֵּי לְהַכפִּיל להחסיר ( לְהַכפִּיל א , לְהַכפִּיל ב )
{
לַחֲזוֹר א - ב ;
}

פּוּמְבֵּי לְהַכפִּיל לְהַכפִּיל ( לְהַכפִּיל א , לְהַכפִּיל ב )
{
לַחֲזוֹר א * ב ;
}

פּוּמְבֵּי לְהַכפִּיל לחלק ( לְהַכפִּיל א , לְהַכפִּיל ב )
{
אם ( ב == 0 )
לזרוק חדש DivideByZeroException ( ) ;
לַחֲזוֹר א / ב ;
}
}

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

כתוב את מבחני היחידה

לאחר שסיימנו, נוכל לכתוב את מבחני היחידה לשיעור 'מחשבון'. במקרה זה, כל שעלינו לעשות הוא לכתוב את המבחנים בקובץ 'UnitTest' של הפרויקט באופן הבא:

באמצעות System ;

מרחב השמות CalcApp
{
מחשבון כיתה ציבורית
{
פּוּמְבֵּי לְהַכפִּיל לְהוֹסִיף ( לְהַכפִּיל א , לְהַכפִּיל ב )
{
לַחֲזוֹר א + ב ;
}

פּוּמְבֵּי לְהַכפִּיל להחסיר ( לְהַכפִּיל א , לְהַכפִּיל ב )
{
לַחֲזוֹר א - ב ;
}

פּוּמְבֵּי לְהַכפִּיל לְהַכפִּיל ( לְהַכפִּיל א , לְהַכפִּיל ב )
{
לַחֲזוֹר א * ב ;
}

פּוּמְבֵּי לְהַכפִּיל לחלק ( לְהַכפִּיל א , לְהַכפִּיל ב )
{
אם ( ב == 0 )
לזרוק חדש DivideByZeroException ( ) ;
לַחֲזוֹר א / ב ;
}
}
}

מרחב השמות CalcTest
{
[ TestClass ]
מבחן מחשבון בכיתה ציבורית
{
מחשבון פרטי מחשבון ;

[ בדוק אתחול ]
פּוּמְבֵּי בָּטֵל להכין ( )
{
מַחשְׁבוֹן = מחשבון חדש ( ) ;
}

[ שיטת בדיקה ]
פּוּמְבֵּי בָּטֵל Add_TwoPositiveNumbers_ReturnsCorrectSum ( )
{
הייתה התוצאה = מַחשְׁבוֹן. לְהוֹסִיף ( 5 , 5 ) ;
לִטעוֹן. שווים ( 10 , תוֹצָאָה ) ;
}

[ שיטת בדיקה ]
פּוּמְבֵּי בָּטֵל Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
הייתה התוצאה = מַחשְׁבוֹן. להחסיר ( 10 , 5 ) ;
לִטעוֹן. שווים ( 5 , תוֹצָאָה ) ;
}

[ שיטת בדיקה ]
פּוּמְבֵּי בָּטֵל Multiply_TwoPositiveNumbers_ReturnsCorrectProduct ( )
{
הייתה התוצאה = מַחשְׁבוֹן. לְהַכפִּיל ( 5 , 5 ) ;
לִטעוֹן. שווים ( 25 , תוֹצָאָה ) ;
}

[ שיטת בדיקה ]
[ ExpectedException ( סוג של ( DivideByZeroException ) ) ]
פּוּמְבֵּי בָּטֵל Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
הייתה התוצאה = מַחשְׁבוֹן. לחלק ( 5 , 0 ) ;
}

[ שיטת בדיקה ]
פּוּמְבֵּי בָּטֵל Divide_TwoPositiveNumbers_ReturnsCorrectQuotient ( )
{
הייתה התוצאה = מַחשְׁבוֹן. לחלק ( 10 , 5 ) ;
לִטעוֹן. שווים ( 2 , תוֹצָאָה ) ;
}
}
}

סיכום

זהו מדריך בסיסי המכסה את היסודות של בדיקת יחידות ב-C# באמצעות מסגרת MSTest.