سؤال

وADO.NET لديه الدرجة DataRow سيئة السمعة والتي لا يمكن إنشاء مثيل باستخدام الجديدة. هذه هي المشكلة الآن أن أجد حاجة للسخرية باستخدام الكركدن تزييف.

هل لديها أي أفكار كيف أتمكن من الحصول تغلب على هذه المشكلة؟

هل كانت مفيدة؟

المحلول

وأنا الغريب لماذا تحتاج إلى يسخرون من DataRow. أحيانا يمكن أن ننشغل به السخرية وننسى أنه يمكن أن يكون مجرد من الحكمة لاستخدام الشيء الحقيقي. إذا كنت تمر في جميع أنحاء صفوف البيانات ثم يمكنك ببساطة مثيل واحد مع أسلوب مساعد واستخدام ذلك كقيمة العائد على وهمية الخاص بك.

SetupResult.For(someMockClass.GetDataRow(input)).Return(GetReturnRow());

public DataRow GetReturnRow()
{
    DataTable table = new DataTable("FakeTable");
    DataRow row = table.NewRow();
    row.value1 = "someValue";
    row.value2 = 234;

    return row;
}

إذا لم تكن هذه هي الحالة كنت في ذلك الحين وانا ذاهب الى حاجة بعض رمز المثال لتكون قادرة على معرفة ما تحاول القيام به.

نصائح أخرى

وأنا أيضا استخدام Typemock المعزل لهذا، فإنه يمكن أن يسخر الأشياء التي الأطر السخرية الاخرى هي غير قادرة على.

وأي وقت لا أستطيع أن يسخر شيء (انا افضل موك على الكركدن، ولكن هذا خارج عن الموضوع) لا بد لي من رمز حوله.

والطريقة التي أرى أنه لديك خيارين فقط. دفع ثمن إطار متفوقة مثل TypeMock التي يمكن أن يسخر أي فئة، أو رمز التفاف حول الفئات التي لم تكن مكتوبة إلى أن سخر.

وانها لحالة محزنة في هذا الإطار. كان TDD يست مصدر قلق كبير مرة أخرى في 1.1 أيام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top