【发布时间】:2019-11-14 13:19:57
【问题描述】:
我有一个返回 JSON 字符串的方法(我暂时在值中进行了硬编码)。我正在尝试对此进行单元测试,但正在努力找出最好的方法。
[HttpGet, Route("GetData")]
public ActionResult<string> GetData()
{
var person = new Person();
person.Name = "Ben";
person.Age = 30;
string json = JsonConvert.SerializeObject(person, Formatting.Indented);
Console.WriteLine(json);
return json;
}
到目前为止,我已经尝试了以下(开始):
[Test]
public void GetData_ApiCallMade_ReturnsJsonString()
{
var controller = new Controller();
JsonResult result = controller.GetData() as JsonResult;
}
(此错误,因为它无法将字符串转换为JsonResult)
我可以通过:
[Test]
public void GetData_ApiCallMade_ReturnsJsonString()
{
var controller= new Controller();
var result = controller.GetData();
Assert.IsNotNull(result);
}
然而,这似乎并不能真正测试任何实质性的东西。
我是新手,希望得到任何帮助 - 我已经查看了其他问题/答案,但似乎仍然无法弄清楚。
【问题讨论】:
-
您可以使用第三方库来转换为 json,例如 Newtonsoft :)
-
在我的测试中? @Hackerman
标签: .net json unit-testing nunit