Модульный тест для веб-форм MVP предъявитель имеет нулевую модель - PullRequest
2 голосов
/ 05 марта 2010

Я использую Web Forms MVP для написания пользовательского элемента управления DotNetNuke.Когда в моем модульном тесте возникает событие «SubmitContactUs», докладчик пытается установить свойство «Сообщение» в модальном режиме.Однако View.Modal в презентере не имеет значения.

Разве инфраструктура Web Forms MVP не должна автоматически создавать новый объект 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);
        }
    }
}

1 Ответ

4 голосов
/ 08 марта 2010

Просто предположение - но, может быть, вам нужно вызвать метод "SetupAllProperties ()" для смоделированного представления, прежде чем докладчик обычно установит это свойство Model?

   view.SetupAllProperties();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...