Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用restsharp调用在VS中运行编码web测试_C#_Visual Studio 2010_Web Testing - Fatal编程技术网

C# 使用restsharp调用在VS中运行编码web测试

C# 使用restsharp调用在VS中运行编码web测试,c#,visual-studio-2010,web-testing,C#,Visual Studio 2010,Web Testing,我有一个测试库,它可以处理基本的响应处理,比如使用Restsharp发送和解析请求。所以对于我编写的大多数测试,我只需要 ServiceClient client = ServiceProvider.GetClient(); IRestResponse r = client.createItem(item); Item i = r.data; etc以及用于创建和获取etc的正确API被提取和处理 我想创建一个web测试来运行性能测试,并想知道是否可以使用同一个库来处理请求,并让visual

我有一个测试库,它可以处理基本的响应处理,比如使用Restsharp发送和解析请求。所以对于我编写的大多数测试,我只需要

ServiceClient client = ServiceProvider.GetClient();
IRestResponse r = client.createItem(item);
Item i = r.data;
etc以及用于创建和获取etc的正确API被提取和处理

我想创建一个web测试来运行性能测试,并想知道是否可以使用同一个库来处理请求,并让visual studio知道这些请求。或者我必须使用WebTestRequest类进行调用,以便VS能够拦截它们并适当地返回结果吗?

有两个选项:

(1) 两种方法中比较简单的一种是在Visual Studio单元测试中使用现有代码。这只需要添加一些特定的单元测试代码。单元测试可用于负载测试。要获得请求的计时,您需要将需要计时的每件事情包装如下,结果将显示在负载测试结果中:

TestContext.BeginTimer("createItem");
IRestResponse r = client.createItem(item);
TestContext.EndTimer("createItem");
(2) 将测试代码转换为Visual Studio编码的Web测试。正如您所猜测的,这将是更多的工作,因为您将不得不使用WebTestRequest类,而不是将所有请求细节都很好地隐藏起来并由Restsharp处理。换句话说,您将失去Restsharp的所有好处。Web测试确实有更好的性能,因为执行引擎使用线程池的异步处理,但除非您在生成负载时受到硬件限制,否则这并不是一个真正的问题