【发布时间】:2021-10-18 09:31:50
【问题描述】:
假设返回类型是
public ActionResult Balance()
{
var myDtos = new List<BalanceModelDto>();
return Ok(new {data = myDtos});
}
在我的 xunit 中,我断言返回类型。
using (var client = new HttpClient())
{
var response = await client.GetAsync($"/Balance");
var responseString = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<BalanceModelDto>(responseString);
Assert.IsType<BalanceModelDto>(result);
Assert.Equal(1, result.Balance);
}
问题是responseString 是"{\"data\":[{"balance\":1}]}"。但我想要的只是"[{"balance\":1}]"
【问题讨论】:
-
"{[{"balance\":1}]}"不是有效的 json -
你为什么要断言不正确的东西?也许只是断言您的 api 实际返回的正确类型?
-
为什么您将
myDtos放入data对象中?您在其他任何地方都需要data吗?否则请看下面的答案:您可以直接使用myDtos。 -
我无法删除“数据”。它存在很长时间。旧代码
-
@JL0PD,抱歉,已更新为
"[{"balance\":1}]"