"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يمكن أن تتعامل مع معلمات المرجع في اختبارات الوحدة؟

هل يمكن أن تتعامل مع معلمات المرجع في اختبارات الوحدة؟

نشرت في 2025-01-29
تصفح:680

Can Moq Handle Out and Ref Parameters in Unit Tests?

استخدم محاكاة MOQ ومرجع المعلمات

في بعض الحالات ، من الضروري تحديد أو معلمات المرجع في اختبار الوحدة. MOQ هو إطار محاكاة شائع يسمح لك بمحاكاة المشاهد المختلفة ، لكن السؤال لا يزال موجودًا: هل يمكن أن يتعامل بشكل خاص مع معلمات OUT و REF؟

out parameters

نعم ، يمكنك تخصيص المعلمات الخارجية مع MOQ. عند الاتصال بطريقة الإعداد ، ستقوم MOQ بإنشاء لقطة على قيمة المعلمات الخارجية.

واجهة عامة iservice {{ void dosomething (Out string a) ؛ } [TestMethod] الفراغ العام testparam () {{ var service = new Mock () ؛ سلسلة extenvalue = "القيمة" ؛ service.setup (s => s.dosomething (Out outvalue) ؛ نشاط السلسلة ؛ service.object.dosomething (out actualvalue) ؛ Assert.areequal (المتوقع Value ، فعلي Value) ؛ }

public interface IService
{
    void DoSomething(out string a);
}

[TestMethod]
public void TestOutParam()
{
    var service = new Mock();
    string expectedValue = "value";
    service.Setup(s => s.DoSomething(out expectedValue));

    string actualValue;
    service.Object.DoSomething(out actualValue);
    Assert.AreEqual(expectedValue, actualValue);
}

في الوقت الحاضر ، لا يدعم MOQ تحديد معلمات المرجع ، ولكن يستمر البحث عن الحلول. المزيد من الموارد

إذا كنت تريد معرفة المزيد من المعلومات ، فإن دليل بدء التشغيل السريع لـ MOQ يوفر نظرة عامة شاملة على إطار الإطار:

https://github.com/moq/moq4/wiki/quickstart

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3