Я пытаюсь создать несколько регрессионных тестов, которые делают асинхронные вызовы нашего API.Я получаю ошибку нулевой ссылки постоянно, независимо от того, что я пытаюсь.Я пробовал несколько разных способов вызова запроса безрезультатно.Я в конце своего остроумия.Я могу поставить точку останова в коде, чтобы проверить URL и запустить этот URL в Postman, и он возвращает данные, как и ожидалось.Я передаю несколько заголовков, но ничего необычного.
Ниже приведена трассировка стека и мой код.Кто-нибудь может увидеть, что мне не хватает?
Спасибо
<GetApiResponse>d__17`1.MoveNext() in C:\Users\foo\Documents\test.api\Common\Base.cs:line 199
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Test.API.ResultsTest.<ResultsAPI_SortByLowToHigh>d__1.MoveNext() in C:\Users\voo\Documents\test.api\ResultsTest.cs:line 74
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
Result Message:
Test method Test.API.ResultsAPI_SortByLowToHigh threw exception:
System.NullReferenceException: Object reference not set to an instance of an object.
try
{
var webRequest = WebRequest.Create(url);
webRequest.Method = "GET";
webRequest.ContentType = "application/json";
webRequest.Headers.Add("ApiVersion", "1");
webRequest.Headers.Add("Country-Code", "US");
webRequest.Headers.Add("Currency-Code", "USD");
Task<WebResponse> responseTask = webRequest.GetResponseAsync();
using (var webResponse = await responseTask)
{
using (var sres = webResponse.GetResponseStream())
{
var ms = new MemoryStream();
if (sres != null) await sres.CopyToAsync((ms));
ms.Position = 0;
using (var sr = new StreamReader(ms))
{
JsonResponse = sr.ReadToEnd();
}
}
}
if (!string.IsNullOrEmpty(JsonResponse))
{
response = JsonConvert.DeserializeObject<ServiceResponse>(JsonResponse);
}
else
{
throw new Exception(typeof(ServiceResponse).Name + " API returned null Response");
}
return response;
}
catch (WebException e)
{
ErrorMsg.AppendLine(e.Message);
throw;
}