Я не могу успешно запустить модульные тесты для MvcMailer, используя набор тестов Visual Studio и Moq.
Я скопировал пример из вики слово в слово, но каждый раз получаю следующее исключение:
Test method MvcMailerTest.Tests.MailerTest.TestMethod1 threw exception:
System.ArgumentNullException: Value cannot be null.
Parameter name: httpContext
Код выглядит следующим образом: (При использовании среды модульного тестирования VS - точно такая же ошибка при использовании nUnit, как в примере)
//Arrange: Moq out the PopulateBody method
var _userMailerMock = new Mock<UserMailer>();
_userMailerMock.Setup(mailer => mailer.PopulateBody(It.IsAny<MailMessage>(), "Welcome", null));
_userMailerMock.CallBase = true;
//Act
var mailMessage = _userMailerMock.Object.Welcome();
Ошибка в следующей строке в методе Welcome () (скопировано прямо из вики):
PopulateBody(mailMessage, viewName: "Welcome");
Вики здесь: https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide
Аналогично (почти точно так же) Вопрос: MvcMailer: Не удается завершить тесты NUnit в представлениях Razor, в которых используется Url.Action
Кто-нибудь знает, как это исправить? Связанный вопрос говорит, что мне нужно смоделировать метод PopulateBody, который я сделал (согласно вики).