2016-09-23 49 views
1

我有一個關於Rest Assured的問題,它是否僅適用於Java測試?或者我可以使用它與C#例如?Rest Assured可以使用什麼語言

感謝

+0

它是測試Rest API的Java DSL。你想測試使用C#開發的服務嗎?或者你想用C#編寫你的單元測試與RestAssured? – Ramu

+0

我想在C#中用RestAssured編寫單元測試...有可能或者有其他庫嗎? –

回答

0

編輯:順便說一句,有一個.NET實現,以及它似乎:

https://github.com/lamchakchan/RestAssured.Net

這就是網頁說:

使用Java測試和驗證REST服務比動態語言(如R)更難uby和Groovy。 REST Assured將使用這些語言的簡單性帶入了Java域。

http://rest-assured.io/

但我個人認爲,用工具,如休息,保證你可以測試你的服務不管實現語言的。你想把你的系統看作黑盒子。

在相關說明中,如果我們嚴格遵守專業術語,您希望編寫的評論單元針對REST端點的測試有些不正確。

有人認爲,在這種情況下,測試應該以某種方式編寫,即他們不知道用於實現所述服務的技術。對於一般的描述,請參閱

https://en.wikipedia.org/wiki/Black-box_testing

這種方法的好處是,這些高層的測試可以用來測試甚至多種實現上述服務。想象一下,你正在微服務環境中工作,並意識到需要用java重寫ruby應用程序,但你不能改變你的API(你不能強迫用戶改變內部實現的改變,即使它在你的公司內部,人們不會在食堂跟你說話)。

這就是說,還有一些東西可以說沒有創建多語言開發環境。誰會寫這些測試?如果它是同一個組,並且測試駐留在同一個地方(存儲庫),那麼使用相同的編程平臺確實會更好。

注意:我不認爲你應該將這個黑盒子從源代碼中移走,但它有時可能是安裝程序。

相反,較低級別的測試(如單元測試必須)與代碼一起存儲,因爲它們專門測試實現而不僅僅是功能。

那麼現在呢?你在.NET中,所以你最好使用「鄰居」中的工具,否則你可能會讓開發團隊的環境設置複雜化。

RestSharp在這裏提到了很多次。

var client = new RestClient("http://example.com"); 
// client.Authenticator = new HttpBasicAuthenticator(username, password); 

var request = new RestRequest("resource/{id}", Method.POST); 
request.AddParameter("name", "value"); // adds to POST or URL querystring based on Method 
request.AddUrlSegment("id", "123"); // replaces matching token in request.Resource 

// easily add HTTP Headers 
request.AddHeader("header", "value"); 

// add files to upload (works with compatible verbs) 
request.AddFile(path); 

// execute the request 
IRestResponse response = client.Execute(request); 
var content = response.Content; // raw content as string 

// or automatically deserialize result 
// return content type is sniffed but can be explicitly set via RestClient.AddHandler(); 
RestResponse<Person response2 = client.Execute<Person>(request); 
var name = response2.Data.Name; 

許可證是Apache 2,也許你應該看看,並結合你自己的通用測試框架。

相關問題