C# 什么';这是测试API的常用方法,该API使返回非常动态JSON的请求成为可能

C# 什么';这是测试API的常用方法,该API使返回非常动态JSON的请求成为可能,c#,.net,web-services,json,testing,C#,.net,Web Services,Json,Testing,我们已经为一组web服务编写了.NET包装器API。所有这些都是发出请求并返回JSON数据。构建测试框架的好方法是什么?我想不出如何进行单元测试,因为我必须知道返回的预期JSON字符串,这是非常动态和复杂的。我想做一个网络测试,但那只是点击一个页面并抓取URL。有什么想法吗 例如,它发出如下请求: http://supersecretwebsite.com/services/library?command=somecommand&sort_order=ASC&sort_by=MO

我们已经为一组web服务编写了.NET包装器API。所有这些都是发出请求并返回JSON数据。构建测试框架的好方法是什么?我想不出如何进行单元测试,因为我必须知道返回的预期JSON字符串,这是非常动态和复杂的。我想做一个网络测试,但那只是点击一个页面并抓取URL。有什么想法吗

例如,它发出如下请求:

http://supersecretwebsite.com/services/library?command=somecommand&sort_order=ASC&sort_by=MODIFIED_DATE&page_number=0&token=myapikey&get_item_count=true
并返回JSON:

{"videos":[{"id":230482394920,"name":"foobarrr","shortDescription":"foo"],"page_number":0,"page_size":100,"total_count":0}

一种解决方案是使用模拟框架模拟服务。您可以设置mock以返回正在测试的JSON片段。通过这种方式,您可以轻松地隔离web服务的行为,而无需对其进行调用。

我还将扩展此答案以包括此链接(使用什么样的C#mocking framework):