К сожалению, я неправильно вставил код в stackoverflow. В коде есть только 1 назначение _userMailerMock. Тем не менее получить ту же ошибку.

могу успешно запустить модульные тесты для MvcMailer с использованием Visual Studio Test Suite и 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 Views, которые используют Url.Action

Кто-нибудь знает, как это исправить / обойти? Связанный вопрос говорит, что мне нужно смоделировать метод PopulateBody, который я сделал (согласно вики).

Ответы на вопрос(4)

Ваш ответ на вопрос