No puedo ejecutar con éxito las pruebas unitarias de MvcMailer utilizando Visual Studio Suite y Moq. he copiado el ejemplo de la palabra wiki por palabra, sino obtener la siguiente excepción cada vez que:Pruebas de la unidad MvcMailer: System.ArgumentNullException httpContext no puede ser nulo
Test method MvcMailerTest.Tests.MailerTest.TestMethod1 threw exception:
System.ArgumentNullException: Value cannot be null.
Parameter name: httpContext
Código es el siguiente: (Utilizando el marco de prueba de unidad VS - exactamente el mismo error al utilizar nUnit como en el ejemplo)
//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();
falla en la línea siguiente en el método de bienvenida() (copiado directamente de la wiki):
PopulateBody(mailMessage, viewName: "Welcome");
el wiki está aquí: https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide
similares (casi exactamente el mismo) Pregunta: MvcMailer: Can't complete NUnit tests on Razor Views which use Url.Action
Alguien sabe cómo solucionar/evitar esto? La pregunta vinculada dice que necesito burlarme del método PopulateBody que hice (según la wiki).
Este [problema se informó] (https://github.com/smsohan/MvcMailer/issues/20) al equipo de MVC Mailer, pero se cerró sin una resolución. ¿Alguien tiene una solución/solución? – jhappoldt
@Josh, desafortunadamente todavía no he encontrado una solución o una solución. Supongo que este error está en manos de MVC mailer devs ... – woggles
una solución alternativa es cambiar su código a esto: 'PopulateBody (mailMessage," Welcome ", null);' Esto funcionará porque tiene una configuración simulada para ese sobrecarga de PopulateBody y no para la versión de 2 parámetros. –