Error al ejecutar la prueba, si usa el método de extensión CreateResponse para devolver la función de Azure HttpResonseMessage

Mi código de función de Azure es el siguiente

public static class MyHttpTriggerFunction
{       
    public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
    {
        // some business logic

        if (valid)
        {
            return req.CreateResponse(HttpStatusCode.OK, true);
        }
        else
        {
             return req.CreateResponse(HttpStatusCode.BadRequest, "some error message");
        }            
    }
}

En mi proyecto de prueba, estoy leyendo el resultado como a continuación:

var result = await MyHttpTriggerFunction.Run(req, log).ConfigureAwait(false);

Después de ejecutar la función, cuando intenta devolver la respuesta en la variable de resultado, el método de prueba falla con excepción.

** **

System.InvalidOperationException: la solicitud no tiene un objeto de configuración asociado o la configuración proporcionada era nula.

** **

Me he asegurado de que el proyecto de prueba tenga el mismoSystem.Net.Http.HttpRequestMessageExtension dll.

Si cambio el código de función para no usarCreateResponse método de extensión (este método de extensión es del código de la plantilla VS 2017) y devuelve la respuesta como se muestra a continuación, obtengo la respuesta en el método de prueba y el caso de prueba funciona bien.

var res = new HttpResponseMessage();
if (valid)
{
    res.StatusCode = HttpStatusCode.OK;
    res.Content = new ObjectContent<bool>(true, new JsonMediaTypeFormatter());        
    return res;
}
else
{
     res.StatusCode = HttpStatusCode.BadRequest;
     res.Content = new ObjectContent<string>("some error message", new JsonMediaTypeFormatter());
     return res;
}

Debajo está el stacktrace of error

Resultado StackTrace: en System.Net.Http.HttpRequestMessageExtensions.CreateResponse [T] (solicitud HttpRequestMessage, HttpStatusCode statusCode, T value, HttpConfiguration configuration) en System.Net.Http.HttpRequestMessageExtensions.CreateRessagesec. valor) en MyFunctionApp.MyHttpTriggerFunction.d__1.MoveNext () --- Fin del seguimiento de la pila desde la ubicación anterior donde se produjo la excepción --- en System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Tarea de tarea) en System.Runtime.CompilerServices. TaskAwaiter.HandleNonSuccessAndDebuggerNotification (tarea de tareas) en System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult () en MyFunctionAppUnitTest.MyHttpTriggerFunctionTest.d__2.MoveNext () en C: \ Users \ rsingh \ Desktop \ Git_Workspace \ ActivationAPI \ MyFunctionAppUnitTest \ MyHttpTriggerFunctionTest .cs: línea 53 --- Fin del seguimiento de la pila desde la ubicación anterior donde se produjo la excepción --- en System.Runtime.CompilerSe .la. MyHttpTriggerFunction_SuccessResult produjo una excepción: System.InvalidOperationException: la solicitud no tiene un objeto de configuración asociado o la configuración proporcionada era nula.

¿Me estoy perdiendo algo trivial?

Respuestas a la pregunta(2)

Su respuesta a la pregunta