我正在使用 Web Forms MVP 编写 DotNetNuke 用户控件。当在我的单元测试中引发“SubmitContactUs”事件时,演示者会尝试在 Modal 上设置“消息”属性。但是 View.Modal 在演示者中为空。
Web Forms MVP 框架不应该在 Presenter 中自动构建一个新的 View.Model 对象吗?可能是我的测试的“安排”部分缺少演示者需要的东西。任何帮助,将不胜感激。
这是我的测试:
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);
}
}
}