2017-06-26 3 views
1

String Daten:können wir String-Daten in IRestResponse konvertieren?

string restResponse = "{'name' : 'Test McGee'}"; 

Wollen Sie die obigen Zeichenfolge IRestResponse Typen konvertieren.

Denn: mit dem folgenden Code (in Zeile Nummer 3) Ich erhalte Fehler:

cannot convert string data to IRestResponse type.

x.GetRestResponse kehrt IRestResponse Typ (die von Restsharp dll)

-Code ist:

var mockHttpClient = new Mock<IHttpClient>(); 

string restResponse = "{'name' : 'Test McGee'}"; 

mockHttpClient.Setup(x => x.GetRestResponse()).Returns(restResponse); //line number 3 
+1

Sie tun können, um Mock-up verwendet werden 'IRestResponse response = new RestResponse {Inhalt = restResponse};' Beachten Sie jedoch, dass die Antwort nicht nur Inhalt ist. Es hat auch Header, Status und so weiter. – Evk

+0

Ja, ich habe IRestResponse response = new RestResponse {Content = restResponse}; und es funktioniert. Vielen Dank – shinchan

Antwort

0

Wie bereits in den Kommentaren angezeigt Sie abgeleitet eine Klasse instanziiert aus IRestResponse

IRestResponse response = new RestResponse { Content = restResponse}; 

Moq kann auch eine Antwort über die Schnittstelle

var mockHttpClient = new Mock<IHttpClient>(); 
var content = "{'name' : 'Test McGee'}"; 
var response = Mock.Of<IRestResponse>(x => x.Content == content); 
mockHttpClient.Setup(x => x.GetRestResponse()).Returns(response); 

Bewertung Moq Quick start: Linq to Mocks

Verwandte Themen