سؤال

وبينما أنا غوغلينغ / قراءة لهذه الإجابة ظننت أنني سوف أسأل هنا أيضا.

ولدي الطبقة التي هي مجمع لSDK. الطبقة تقبل كائن ILoader ويستخدم الكائن ILoader لخلق ISBAObject وهو يلقي إلى كائن ISmallBusinessInstance. أنا مجرد محاولة للسخرية هذا السلوك باستخدام موك.

   [TestMethod]
    public void Test_Customer_GetByID()
    {
        var mock = new Mock<ILoader>();

        var sbainst = new Mock<ISbaObjects>();

        mock.Expect(x => x.GetSbaObjects("")).Returns(sbainst);


    }

والخطأ المترجم يقرأ: خطأ 1 المباراة طريقة أفضل طاقتها ل"Moq.Language.IReturns.Returns (Microsoft.BusinessSolutions.SmallBusinessAccounting.Loader.ISbaObjects)" لديه بعض الحجج الباطلة

وماذا يجري هنا؟ توقعت همية من ISbaObjects لتكون قادرة على أن عاد من دون مشكلة.

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

المحلول

وتحتاج إلى استخدام sbainst.Object، كما sbinst ليس مثيل ISbaObjects - انها مجرد جزء وهمية

.

نصائح أخرى

والتحديث، الرمز الصحيح

[TestMethod]
public void Test_Customer_GetByID()
{
    var mock = new Mock<ILoader>();

    var sbainst = new Mock<ISbaObjects>();

    mock.Expect(x => x.GetSbaObjects("")).Returns(sbainst.Object);


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