اختبار الوحدة لنماذج الويب MVP مزود نموذج فارغ

StackOverflow https://stackoverflow.com/questions/2388273

  •  24-09-2019
  •  | 
  •  

سؤال

أنا أستخدم نماذج الويب MVP لكتابة عنصر تحكم مستخدم dotnetnuke. عندما يتم رفع حدث "ServiceContactus" في اختبار وحدتي ، يحاول مقدم العرض تعيين خاصية "الرسالة" على الوسائط. ومع ذلك ، فإن العرض.

ألا ينبغي أن يقوم إطار الويب MVP تلقائيًا بإنشاء عرض جديد. قد يكون الجزء "الترتيب" من اختباري يفتقد شيئًا يحتاجه مقدم العرض. سيكون موضع تقدير أي مساعدة.

ها هو اختباري:

using System;
using AthleticHost.ContactUs.Core.Presenters;
using AthleticHost.ContactUs.Core.Views;
using Xunit;
using Moq;

namespace AthleticHost.ContactUs.Tests
{
    public class ContactUsPresenterTests
    {
        [Fact]
        public void ContactUsPresenter_Sets_Message_OnSubmit()
        {
            // Arrange
            var view = new Mock<IContactUsView>();
            var presenter = new ContactUsPresenter(view.Object);
            // Act
            view.Raise(v => v.Load += null, new EventArgs());
            view.Raise(v => v.SubmitContactUs += null, 
                new SubmitContactUsEventArgs("Chester", "Tester", 
                    "ctester@test.com", "http://www.test.com", 
                    "This is a test of the emergancy broadcast system..."));  
            presenter.ReleaseView();

            // Assert
            Assert.Contains("Chester Tester", view.Object.Model.Message);
        }
    }
}
هل كانت مفيدة؟

المحلول

مجرد تخمين - ولكن ربما تحتاج إلى استدعاء طريقة "SetUpAllProperties ()" على طريقة العرض السخرية قبل أن يقوم مقدم العرض عادة بتعيين خاصية النموذج؟

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