Итак, я пытаюсь провести модульное тестирование контроллера Umbraco 7.5.10.Контекст был осмеян и передан без проблем.Затем я продолжаю создавать фиктивный объект IMember, но всякий раз, когда я пытаюсь установить любое из свойств (LastLoginDate, Name, Email и т. Д.), Они не устанавливаются, и когда вы переходите к проверке inactiveMemberEmailed.Object во время отладки, все свойстваноль.Я проверил, что IMember наследует, и нет никаких причин, почему они не должны быть установлены.
using NUnit.Framework;
using Umbraco.Core.Models;
using Site.Logic.Controllers.SurfaceControllers;
using System;
using Moq;
using Umbraco.UnitTesting.Adapter.Support;
using System.Collections.Generic;
namespace Site.Tests
{
[TestFixture]
public class InactiveMemberCheckTest
{
private UmbracoSupport support = new UmbracoSupport();
private Mock<IMember> inactiveMemberEmailed;
[SetUp]
public void Setup()
{
support.SetupUmbraco();
this.inactiveMemberEmailed = new Mock<IMember>();
inactiveMemberEmailed.Object.LastLoginDate = DateTime.Today.AddMonths(-12);
inactiveMemberEmailed.Object.Name = "inactiveMemberNotEmailed";
inactiveMemberEmailed.Object.Email = "email@example.co.uk";
inactiveMemberEmailed.Object.SetValue("contactId", 1);
inactiveMemberEmailed.Object.SetValue("inactiveCheckEmailed", true);
}
[Test]
public void MembersCanBeChecked()
{
var controller = new InactiveMemberCheckController(support.UmbracoContext);
var resultInactiveEmailed = controller.InactiveCheck(inactiveMemberEmailed.Object);
Assert.AreEqual(resultInactiveEmailed, true);
}
}
}