2012-11-12 60 views
0

我有一個測試庫,處理基本的響應處理,如使用Restsharp發送和解析請求。因此,對於大多數我寫的測試,我只需要像做使用restsharp調用VS中運行編碼的Web測試

ServiceClient client = ServiceProvider.GetClient(); 
IRestResponse r = client.createItem(item); 
Item i = r.data; 

等,併爲創造和獲取等方面的正確的API是拿起和處理

我想創建一個Web測試運行性能測試,並想知道我是否可以使用相同的庫來處理對我的請求,並讓Visual Studio知道請求。或者我是否必須使用WebTestRequest類進行調用,以便VS可以攔截它們並正確返回結果?

回答

0

有兩種選擇:

(1)二者的簡單方法是使用現有的代碼在Visual Studio 單元測試。這隻需要添加一些特定的單元測試代碼。單元測試可用於負載測試。要獲取請求時間,你想包需要按如下方式進行計時每一件事情,結果將在負載測試結果顯示:

TestContext.BeginTimer("createItem"); 
IRestResponse r = client.createItem(item); 
TestContext.EndTimer("createItem"); 

(2)將您的測試代碼到Visual Studio 編碼的Web測試。正如你所猜測的,這將會是更多的工作,因爲不是所有的請求細節都很好地被隱藏起來並被Restsharp處理,你將不得不使用WebTestRequest類。換句話說,你會失去Restharp的所有好處。 Web測試確實有更好的性能,因爲執行引擎對線程池使用異步處理,但除非硬件限制負載生成,否則這不是真正的問題。

相關問題