C #. דוגמה ליצירת בדיקת יחידה ב- MS Visual Studio Bestprog

  1. C #. דוגמה ליצירת בדיקת יחידה ב- MS Visual Studio נושא זה מתאר את התהליך שלב אחר שלב של יצירת בדיקת...
  2. ביצוע
  3. 2. הכנת טקסט מודול Program.cs
  4. 2.2. הפוך את מחלקת התוכניות לציבורית
  5. 3. הרישום של התוכנית נבדק
  6. 4. יצירת בדיקה
  7. 4.1. הוספת פרוייקט חדש לפתרון
  8. 4.2. מבנה הפתרון
  9. 4.3. הטקסט של הקובץ "UnitTest1.cs". תכונות [TestMethod] ו- [TestClass]
  10. 4.4. ביצוע שינויים בטקסט של מודול UnitTest1. שינוי שם שיטת הבדיקה
  11. 4.5 חיבור פרוייקט MinApp לפרויקט TestMinApp
  12. 4.6. ביצוע שינויים בטקסט של המודול UnitTest1.cs
  13. 4.6.2. טקסט TestMin ()
  14. 4.7. טקסט מודול UnitTest1.cs
  15. .5 הפעל את הבדיקה ובדוק את תוצאת הבדיקה
  16. 6. התוצאה. אינטראקציה בין פרויקטים
  17. נושאים קשורים

C #. דוגמה ליצירת בדיקת יחידה ב- MS Visual Studio

נושא זה מתאר את התהליך שלב אחר שלב של יצירת בדיקת יחידה פשוטה ב- Microsoft Visual Studio 2010 (C #) ליישום כגון יישום מסוף. באמצעות דוגמה זו, תוכל ללמוד כיצד ליצור בדיקות יחידה משלך. הדוגמה גם ממחישה את השימוש בכיתה Assert לבדיקת פעולת הפונקציות.

התוכן

מצב הבעיה

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

עבור הפונקציה Min (), הגדר את שיטת הבדיקה ל- TestMin (). בדוק את הפונקציה.

ביצוע

1. יצירת יישום באמצעות התבנית Applicaiton מסוף

הפעל את MS Visual Studio 2010. לשם יצירת פרוייקט באמצעות תבנית יישום מסוף, יש לקרוא לרצף הפקודות הבא:

קובץ -> חדש -> פרויקט ...

כתוצאה מכך, נפתח חלון פרוייקט חדש. בחלון, בחר את תבנית יישום המסוף כפי שמוצג באיור 1. התבנית נבחרת בכרטיסייה Visual C #.

Visual C # -> יישום מסוף

Visual C # -> יישום מסוף

איור. 1. חלון "פרוייקט חדש". בחירת יישום כמו יישום מסוף

2. הכנת טקסט מודול Program.cs

2.1. הוסף פונקציית Min () לטקסט מודול

בגוף המחלקה Program, הוסף את הטקסט של הפונקציה Min ().

הפונקציה מוצהרת כציבורית (סטטית) וציבורית. Min ()

int int סטטי מינימלי (int a, int b, int c) {int min = a; אם (min> b) min = b; אם (min> c) min = c; min University }

איור. 2. הצג את החלון MS Visual Studio 2010, מודול "Program.cs"

2.2. הפוך את מחלקת התוכניות לציבורית

כדי לקבל גישה לפונקציה Min () של המחלקה Program, עליך להפוך את המחלקה לזמינה לציבור. כדי לעשות זאת, לפני ההכרזה על מחלקה, עליך להגדיר את מילת המפתח הציבורית.

... גודל הקובץ: 1000 KB מרחב שמות MinApp {הציבור בכיתה התוכנית {/ class class // ...}}

לאחר מכן, תוכנית הבדיקה מוכנה.

3. הרישום של התוכנית נבדק

כרגע, רשימת התוכנית הנבחנת היא כדלקמן:

באמצעות מערכת; באמצעות System.Collections.Generic; באמצעות System.Linq; באמצעות System.Text; מרחב הציבור Minp {תכנית הכיתה הציבורית {int static ציבורי Min (int a, int b, int c) {int min = a; אם (min> b) min = b; אם (min> c) min = c; min University } חלל סטטי [ראשי] [string]] Console.WriteLine ("הדגמה של בדיקות יחידה ב- C #."); }}}

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

4. יצירת בדיקה

הבדיקה נוצרת על ידי פרוייקט נפרד (פרויקט) בפתרון (פתרון). התוכנית נבדק לא יודע על זה. התוכנית שתבחן (תוכנית בדיקה) תקרא את הפונקציות של התוכנית הנבדקת. במקרה שלנו, תוכנית הבדיקה תקרא את הפונקציה

int min (int, int, int);

4.1. הוספת פרוייקט חדש לפתרון

עבור פתרון זה (פתרון) אתה צריך להוסיף פרוייקט חדש באמצעות הפקודה

קובץ-> הוסף-> פרוייקט חדש ...

החלון ליצירת פרוייקט חדש מוצג באיור 3.

החלון ליצירת פרוייקט חדש מוצג באיור 3

איור. 3. חלון ליצירת פרויקט מסוג מבחן פרויקט

קבוצה של תבניות Visual C # -> Test נבחרה בחלון. מהתבניות המוצגות, נבחרה תבנית הפרויקט "Test Project". בשדה "שם" יפורסם שם הפרויקט שיבחן את התוכנית שלנו. אתה צריך להגדיר, למשל, TestMinApp. הפרויקט ממוקם בתיקייה נפרדת "E: \ Test \ MinApp".

הפרויקט ממוקם בתיקייה נפרדת E: \ Test \ MinApp

איור. 4. הטקסט של מודול UnitTest1.cs. חלון השירות Explorer Explorer עם TestMinApp ו פרויקטים MinApp המוצגים

4.2. מבנה הפתרון

כפי שניתן לראות בתרשים 4, כלי השירות Explorer Explorer מציג את מבנה פריטי הפתרון, המכיל שני פרויקטים:

  • פרוייקט. זהו פרויקט שנוצר באמצעות תבנית יישום המסוף עם הפונקציה Min () שברצונך למחות;
  • פרוייקט TestMinApp. פרויקט זה נועד לבדוק את התכונות של פרוייקט MinApp. קוד התוכנית שבוחן את הפונקציה Min () יוכנס לקובץ הפרויקט UnitTest1 של פרויקט TestMinApp.

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

4.3. הטקסט של הקובץ "UnitTest1.cs". תכונות [TestMethod] ו- [TestClass]

בפרויקט TestMinApp, קובץ הבדיקה UnitTest1.cs הוא בעל חשיבות עליונה. קובץ זה מכיל שיטות שיבדקו את הפונקציות של פרוייקט MinApp. הפרויקט TestMinApp יכול להכיל כל מספר של קבצים המכילים בדיקות (לדוגמה, UnitTest2.cs, UnitTest3.cs, וכו ').

הרישום של הקובץ UnitTest1.cs שנוצר על ידי MS Visual Studio 2010 הוא כדלקמן:

באמצעות מערכת; באמצעות System.Text; באמצעות System.Collections.Generic; באמצעות System.Linq; באמצעות Microsoft.VisualStudio.TestTools.UnitTesting; מרחב שם TestMinApp {/// <Summary> /// תיאור סיכום עבור UnitTest1 /// </ סיכום> [TestClass] המחלקה הציבורית UnitTest1 {Public UnitTest1 () {/ // TODO: הוסף את לוגיקת הבנאי כאן //} פרטי TestContext testContextInstance; /// <summary> /// מקבל או קובע את ההקשר הבדיקה. /// </ summary> Public TestContext TestContext {get {return testContextInstance; } הגדר {TestContextInstance = value; }} #region תכונות בדיקה נוספות // באפשרותך להשתמש בבדיקות שלך // // השתמש ב- ClassInitialize // [ClassInitialize ()] // חלל סטטי סטטיסטי MyClassInitialize (TestContext testContext) {} // // השתמש ב- ClassCleanup כדי להפעיל קוד לאחר שכל הבדיקות בכיתה מופעלות // [ClassCleanup ()] // חלל סטטי ציבורי MyClassCleanup () {} // // השתמש ב- TestInitialize כדי להפעיל את הקוד לפני הפעלת כל בדיקה // [TestInitialize ()] // חלל ציבורי MyTestInitialize () {} / // השתמש TestCleanup ) {} // #endregion [TestMethod] בחלל הציבורי TestMethod1 () {// // TODO: הוסף לוגיקת בדיקה כאן //}}}

כפי שניתן לראות מהקוד לעיל, הקובץ מכיל מחלקה בשם UnitTest1. בכיתה יש שיטה ציבורית שנקראת TestMethod1 (). לפני יישום השיטה TestMethod1 (), התכונה [TestMethod] מוצבת. משמעות הדבר היא שעליך להזין את הקוד שיבדוק את הפונקציות של פרוייקט MinApp בגוף השיטה.

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

4.4. ביצוע שינויים בטקסט של מודול UnitTest1. שינוי שם שיטת הבדיקה

באפשרותך לשנות את שמות השיטות ולהוסיף שיטות חדשות המסומנות בתכונה [TestMethod] במודול UnitTest1.cs. לאור זאת, בטקסט של מודול UnitTest1.cs, עליך לשנות את שם השיטה TestMethod1 () ל- TestMin ().

לאחר ביצוע השינויים, הטקסט המקוצר של המודול של הקובץ UnitTest1.cs יהיה:

באמצעות מערכת; באמצעות System.Text; באמצעות System.Collections.Generic; באמצעות System.Linq; באמצעות Microsoft.VisualStudio.TestTools.UnitTesting; מרחב שם TestMinApp {/// <סיכום> /// תיאור תקציר עבור UnitTest1 /// </ סיכום> [TestClass] המחלקה הציבורית UnitTest1 {... [TestMethod] בחלל הציבורי TestMin () {/ / / TODO: הוסף בדיקה לוגיקה כאן //}}

4.5 חיבור פרוייקט MinApp לפרויקט TestMinApp

כדי לקבל גישה לפונקציה Min () MinApp בפרויקט TestMinApp, עליך לחבר את מרחב השמות שבו נמצאת הפונקציה.

כדי לעשות זאת, קודם כל, אתה צריך לקרוא את תפריט ההקשר של הפרויקט TestMinApp. ואז בתפריט ההקשר אתה צריך לקרוא את הפקודה "הוסף הפניה ..." (איור 5).

 (איור 5)

איור. 5. צוות "הוסף הפניה ..."

כתוצאה מכך, ייפתח חלון Add Reference, שבו עליך לבחור את פרוייקט MinApp.

כתוצאה מכך, ייפתח חלון Add Reference, שבו עליך לבחור את פרוייקט MinApp

איור. 6. חלון "הוסף הפניה". חיבור הפרויקט MinApp

לאחר ביצוע הפעולות, פונקציות הפרויקט של MinApp יהיו זמינות לשימוש בפרויקט TestMinApp.

לאחר ביצוע הפעולות, פונקציות הפרויקט של MinApp יהיו זמינות לשימוש בפרויקט TestMinApp

איור. 7. הפניות לשונית עם פרוייקט MinApp מחובר

4.6. ביצוע שינויים בטקסט של המודול UnitTest1.cs
4.6.1. הוספת מרחב השמות של MinApp למודול UnitTest1.cs

בשלב זה, במודול UnitTest1.cs, עליך להוסיף את מרחב השמות של MinApp באמצעות ההנחיה באמצעות:

באמצעות מערכת; באמצעות System.Text; באמצעות System.Collections.Generic; באמצעות System.Linq; באמצעות Microsoft.VisualStudio.TestTools.UnitTesting; באמצעות MinApp; מרחב שמות TestMinApp {...}

4.6.2. טקסט TestMin ()

בטקסט של השיטה TestMin (), הזן את הקוד הבא:

... [TestMethod] בחלל הציבורי TestMin () {/ / / TODO: הוסף מבחן ההיגיון כאן // min min; min = Program .Min (3, 4, 5); אישור .AreEqual (2, דקות); } ...

4.7. טקסט מודול UnitTest1.cs

הטקסט של מודול UnitTest1.cs כולו הוא כדלקמן:

באמצעות מערכת; באמצעות System.Text; באמצעות System.Collections.Generic; באמצעות System.Linq; באמצעות Microsoft.VisualStudio.TestTools.UnitTesting; באמצעות MinApp; מרחב שם TestMinApp {/// <Summary> /// תיאור סיכום עבור UnitTest1 /// </ סיכום> [TestClass] המחלקה הציבורית UnitTest1 {Public UnitTest1 () {/ // TODO: הוסף את לוגיקת הבנאי כאן //} פרטי TestContext testContextInstance; /// <summary> /// מקבל או קובע את ההקשר הבדיקה. /// </ summary> Public TestContext TestContext {get {return testContextInstance; } הגדר {TestContextInstance = value; }} #region תכונות בדיקה נוספות // באפשרותך להשתמש בבדיקות שלך // // השתמש ב- ClassInitialize // [ClassInitialize ()] // חלל סטטי סטטיסטי MyClassInitialize (TestContext testContext) {} // // השתמש ב- ClassCleanup כדי להפעיל קוד לאחר שכל הבדיקות בכיתה מופעלות // [ClassCleanup ()] // חלל סטטי ציבורי MyClassCleanup () {} // // השתמש ב- TestInitialize כדי להפעיל את הקוד לפני הפעלת כל בדיקה // [TestInitialize ()] // חלל ציבורי MyTestInitialize () {} / // השתמש TestCleanup ) {} // #endregion [TestMethod] בחלל הציבורי TestMin () {// // TODO: הוסף לוגיקת בדיקה כאן // int min; min = Program .Min (3, 4, 5); אישור .AreEqual (2, דקות); }}}

.5 הפעל את הבדיקה ובדוק את תוצאת הבדיקה

ב- Microsoft Visual Studio 2010, תפריט מיוחד של פקודות בשם Test מיושם לעבודה עם בדיקות יחידה.

להפעלת בדיקת ביצוע, בחר אחת מהפקודות.

מבחן -> הפעלה -> בדיקות בהקשר הנוכחי

או

מבחן -> הפעלה -> כל הבדיקות בפתרון

כפי שמוצג באיור 8.

כפי שמוצג באיור 8

איור. 8. התקשר לפקודת הבדיקה הראשונה והצג את התוצאה.

לאחר הפעלת הבדיקה, ניתן לצפות בתוצאה בחלק התחתון של חלון תוצאות הבדיקה. כפי שניתן לראות מן הדמות, הבדיקה אינה מועברת. זה הגיוני, שכן בפונקציה Assert.AreEqual () אנו משווים את המספרים 2 ו -3, אשר שונים. הנה, מספר 2 הוא הציג במיוחד במקום 3.

אם במקום מספר 2 אתה מזין את התשובה הנכונה - מספר 3 (מינימום בין 3, 4, 5), ואז הבדיקה תעבור (איור 9). במקרה זה, הטקסט של שיטת TestMin () יהיה כדלקמן:

... [TestMethod] בחלל הציבורי TestMin () {/ / / TODO: הוסף מבחן ההיגיון כאן // min min; min = Program .Min (3, 4, 5); אישור .AreEqual (3 דקות); } ...

חלון התוצאה מוצג באיור 9.

חלון התוצאה מוצג באיור 9

איור. 9. מבחן התוצאה עבור המקרה, אם אתה מזין את התשובה הנכונה

כעת אנו יכולים להסיק כי הפונקציה Min () במקרה זה פועלת כראוי.

6. התוצאה. אינטראקציה בין פרויקטים

במאמר זה, שני פרויקטים נוצרים בפתרון. פרוייקט MinApp אחד מכיל את הפונקציה Min () שברצונך לבדוק. הפרויקט השני, TestMinApp, מכיל שיטות בדיקה.

ב- Microsoft Visual Studio 2010, כל פרוייקט הושק באמצעות פקודות תפריט שונות. לכן, פרוייקט MinApp מופעל באופן סטנדרטי מתפריט הפעלה. ואת הפרויקט TestMinApp הוא הושק מתוך תפריט מבחן מיוחד.

נושאים קשורים