Estoy actualizando mi aplicación de función C# de .net 3.1 a 6.0`.
Cuando ejecuto mis casos de prueba, descubrí que 1 de mis casos de prueba falló con el siguiente error.
Castle.DynamicProxy.InvalidProxyConstructorArgumentsException: no se puede crear una instancia de proxy de clase: System.Net.HttpWebRequest. No se pudo encontrar un constructor sin parámetros.
Básicamente, estoy tratando de burlarme de HttpWebRequest y debajo está mi código para eso.
var httpWebRequest = new Mock<HttpWebRequest>();Está funcionando bien en .Net 3.1. Estoy usando Moq versión 4.16.1 en ambos proyectos.
Ambos constructores de HttpWebRequest están obsoletos y no deben usarse. Tienes que usar la función estática "Crear" para crear una nueva instancia de la clase HttpWebRequest:
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
Para resolver su problema, use la clase HttpClient en su lugar. Esta clase tiene un constructor sin parámetros.