Я пишу Unit Test для Function App, который принимает HttpRequest и запускает защищенный вызов API с параметрами запроса и некоторыми пользовательскими заголовками и токеном на предъявителя. Я могу передать запрос на запрос, но как добавить заголовки не работает.
Я пробовал следующий код, отредактировал мой код в соответствии с предложением @Nkosi
var postParam = new Dictionary<string, StringValues>();
postParam.Add("param1", "123");
request.Query = new QueryCollection(postParam);
var headers = new HttpClient().DefaultRequestHeaders;
headers.Add("Transaction", "1234");
var request = Mock.Of<HttpRequest>(_ =>
_.Query == query && _.Headers == headers //<-- setup desired members
);
var logger = Mock.Of<ILogger>();
var response = azureFunction.Run(request, logger);
Вызовследующая функция
public static HttpResponseMessage Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log){
}
Я получаю ошибку здесь. Оператор == не может быть применен к IHeaderDictionary и HttpRequestHeaders
&& _.Headers == headers