اختبار الوحدة لنماذج الويب MVP مزود نموذج فارغ
سؤال
أنا أستخدم نماذج الويب 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();
لا تنتمي إلى StackOverflow