לדלג לתוכן

NUnit

מתוך ויקיפדיה, האנציקלופדיה החופשית
NUnit
צילום מסך של ממשק NUnit 2.4.6 בסביבת חלונות
צילום מסך של ממשק NUnit 2.4.6 בסביבת חלונות
מפתח קוד פתוח
גרסה אחרונה 4.4.0 (10 באוגוסט 2025) עריכת הנתון בוויקינתונים
מערכת הפעלה Net, Mono.
נכתבה בשפות סי שארפ עריכת הנתון בוויקינתונים
סוג רישיון BSD-style (modified zlib license)
קוד מקור https://github.com/nunit/nunit עריכת הנתון בוויקינתונים
קטגוריה בדיקות תוכנה
http://www.nunit.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

NUnit הוא כלי פיתוח חופשי לבדיקות יחידה בשפת התכנות C# בסביבת הפיתוח .Net. מטרתו דומה לזה של JUnit בתכנות ב-Java. וגם הוא אחד מרבים השייכים למשפחת xUnit.

דוגמה לבדיקת יחידה

[עריכת קוד מקור | עריכה]

על מנת להריץ את הבדיקה יש ליצור תחילה מחלקה חדשה שבה נבצע את הבדיקות, בתוך מחלקה אחת ניתן לבצע בדיקות למספר מחלקות. בנוסף יש להוסיף את ה-DLL של NUnit לפרויקט. הדוגמה הבאה מציגה דוגמה פשוטה בשפת C#. מטרת הבדיקה היא לבדוק נכונות של ביטוי אריתמטי פשוט.

using NUnit.Framework;

 [TestFixture]
 public class ExampleTestOfNUnit
 {
 [Test]
 public void TestMultiplication()
 {
 Assert.AreEqual(4, 2*2, "Multiplication");

 // Equivalently, since version 2.4 NUnit offers a new and
 // more intuitive assertion syntax based on constraint objects
 // [http://www.nunit.org/index.php?p=constraintModel&r=2.4.7]:
 Assert.That(2*2, Is.EqualTo(4), "Multiplication constraint-based");
 }
 }

שיטות ביאור

[עריכת קוד מקור | עריכה]


משמעות מטרה פונקציית ביאור
מחלקה שהיא בדיקת יחידה למחלקה אחרתמחלקהTestFixture
פונקציה שתרוץ לפני כל בדיקהפונקציהSetUp
פונקציה שתרוץ לאחר כל בדיקהפונקציהTearDown
מסמן פונקציה כפונקציית בדיקהפונקציהTest
מסמל שצריכה להתקבל שגיאה על ידי הבדיקהפונקציית בדיקהExpectedException
מסמל שבדיקה צריכה לרוץ אבל לא מתחשב שהבדיקה נכשלהפונקציית בדיקהIgnore
פונקציה זו מתבצעת פעם אחת, לפני תחילת כל הבדיקות.פונקציהTestFixtureSetUp
פונקציה זו מתבצעת פעם אחת, לאחר שכל הבדיקות הסתיימו.פונקציהTestFixtureTearDown

בדיקה אם הפונקציה עברה את הבדיקה

[עריכת קוד מקור | עריכה]

על מנת לבדוק אם התוצאות שקיבלנו בפונקציית הבדיקה תואמות את התוצאות שציפינו לקבל נשתמש במחלקת Assert. זוהי מחלקה סטטית הקובעת את תוצאת הבדיקה על ידי השוואה של תוצאת הפונקציה לתוצאה הרצויה. המחלקה קיימת גם ב-JUnit וגם ב-NUnit, השוני הוא בצורת הכתיבה. מאפשר לאמת את הקוד:

  • על ידי בדיקת ביטויים בוליאניים.
  • על ידי השוואת סוגים בסיסיים.
  • על ידי השוואת משתנים (by reference).
  • על ידי השוואת מערכים (by reference).


סוגים של Assert שניתנים לשימוש:

  • Assert.AreEqual(Type expected, Type actual);
  • Assert.AreEqual(Type expected, Type actual, Type delta);
  • Assert.AreEqual(Type expected, Type actual, string message);
  • Assert.AreEqual(Type expected, Type actual, Type delta, string message);
  • Assert.IsFalse(bool condition);
  • Assert.IsFalse(bool condition, string message);
  • Assert.IsNotNull(object object);
  • Assert.IsNotNull(object object, string message);
  • Assert.AreNotSame(object expected, object actual);
  • Assert.AreNotSame(object expected, object actual, string message);
  • Assert.IsNull(object object);
  • Assert.IsNull(object object, string message);
  • Assert.AreSame(object expected, object actual);
  • Assert.AreSame(object expected, object actual, string message);
  • Assert.IsTrue(bool condition);
  • Assert.IsTrue(bool condition, string message);
  • Assert.Fail();
  • Assert.Fail(string message);

אופן הרצת הבדיקות

[עריכת קוד מקור | עריכה]

הרצת הבדיקות ב-NUnit מתבצעת על ידי תוכנה חיצונית שמותקנת במחשב. במידת הצורך ניתן להוסיף תוספים לוויז'ואל סטודיו שמאפשרים את הרצת הבדיקות ללא תוכנה חיצונית.

השוואה בין JUnit ל-NUnit

[עריכת קוד מקור | עריכה]

NUnit היא שיטת בדיקה הדומה ל-JUnit, כאשר השוני העיקרי ביניהן הוא שפת הפיתוח שבה משתמשים. עם זאת, קיימים עוד כמה הבדלים מזעריים ביניהן מבחינת תחביר ואופן הרצת הבדיקות.

מאפיין NUnit JUnit
שפת פיתוחC#Java
מערכת הפעלה.NET, Monoרב פלטפורמי
תחילת שימוששימוש חיצוני – בפעם הראשונה דורש התקנה של NUnit, ויש צורך בהוספת קובץ DLL לפרויקטשימוש פנימי – על ידי הוספת JAR של JUnit לפרויקט
יצירת test classיצירת מחלקת בדיקות באופן ידני. אין תלות במחלקה ספציפיתיצירת מחלקת בדיקות באופן אוטומטי על ידי Junit Test Case
הרצת הבדיקותדרך תוכנה חיצונית של NUnit (ניתן להריץ מתוך Visual studio על ידי התקנת תוספים)מתוך eclipse על ידי run As JunitTest
סימון פונקציות בדיקהלפני הפונקציה תגים מותאמיםשם הפונקציה מתחילה במילה test
Assertion classיש לקרוא לפונקציית Assert באמצעות פונקציה סטטיתקריאה לפונקציית Assert ישירות
פונקציות ביאור Annotationsלפני הפונקציה נגדיר את סוג הפונקציה על ידי [ ]לפני הפונקציה נגדיר את סוג הפונקציה על ידי @

לקריאה נוספת

[עריכת קוד מקור | עריכה]

קישורים חיצוניים

[עריכת קוד מקור | עריכה]
  • אתר האינטרנט הרשמי של NUnit
  • השוואה בין NUnit ל-JUnit (באנגלית)