public abstract class MirAPIUnitTestCommon { public abstract string GetBaseAddress(); /// <summary> /// CRUD /// </summary> /// <typeparam name="TResult"></typeparam> /// <param name="api"></param> /// <returns></returns> protected TResult InvokeRequest<TResult, TArguemnt>(string api, HttpMethod httpMethod, TArguemnt arg) { using (var invoker = CreateMessageInvoker()) { using (var cts = new CancellationTokenSource()) { var request = new HttpRequestMessage(httpMethod, api);if (null != arg) { request.Content = new ObjectContent<TArguemnt>(arg, new JsonMediaTypeFormatter()); } HttpClient httpClient = new HttpClient(); using (HttpResponseMessage response = httpClient.SendAsync(request, cts.Token).Result) { string result = response.Content.ReadAsStringAsync().Result; return JsonConvert.DeserializeObject<TResult>(result); } } } } private HttpMessageInvoker CreateMessageInvoker() { var config = new HttpConfiguration(); WebApiConfig.Register(config); var server = new HttpServer(config); var messageInvoker = new HttpMessageInvoker(server); return messageInvoker; } }
.NET webapi 的单元测试
免责声明:文章转载自《.NET webapi 的单元测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=