1
我想對一個單元測試來返回任務的頂線嘲笑ReadAsStringAsync
其中字符串是下面的JSON:轉換有效的JSON的任務<string>
var jsonString = await response.Content.ReadAsStringAsync();
// convert to our OfferJsonRow format
var jsonData = JsonConvert.DeserializeObject<Dictionary<string, List<OfferJsonRow>>>(jsonString);
var rawOfferData = jsonData["data"];
如何轉換這種有效JSON到Task<string>
?
JSON:
{
"data": [{
"Latitude": "xxx",
"RedemptionType": "barcode",
"Version": "1",
"HeaderType": "",
"FontColour": "",
"LogoType": "",
"RedemptionLimit": "",
"RedemptionTimeMinutes": ""
}]
}
這裏是我的代碼:
var response = new Mock<HttpResponseMessage>();
response.Setup(rm => rm.Content.ReadAsStringAsync()).Returns(Task.Delay(10).ContinueWith(t => "Hello"));
我相信,如果我取代「你好」與JSON那麼這將是我想要什麼,但粘貼時,它拋出錯誤是JSON到Visual Studio代碼
在粘貼時,你可能無法逃脫的報價,將是我的猜先 – Rob
@Rob呀。所以這是必要的? – BeniaminoBaggins
您需要返回任務''而是返回'Task'我的JSON實際上是巨大的,比我這裏輸入要大得多。您可以嘗試返回'Task.FromResult(「你好」);' –
Fabio