如何确定要在方法中测试的内容
How to determine what to test in a method
我是单元测试的新手。我正在努力的一件事是确定
为我的方法编写什么类型的测试。使用下面的代码作为
例如,我应该在这里测试什么?我可以进行哪些测试
写。
[HttpGet]
[Route("GetPosts")]
public async Task<IActionResult> GetPosts()
{
try
{
var posts = await postRepository.GetPosts();
if (posts == null)
{
return NotFound();
}
return Ok(posts);
}
catch (Exception)
{
return BadRequest();
}
}
在单元测试中,您测试的是一小段代码,例如一个方法。重要的是单元测试只测试你要测试的方法中的代码。它不测试任何依赖项。他们必须被嘲笑(例如,最小起订量)。
我认为你在这里处理三个测试用例(=三个测试):
找到帖子
找不到帖子
出现异常
重要的是单元测试不调用实际的存储库。您必须模拟它并模拟 GetPosts 方法。
实施单元测试后,您还可以考虑实施一些集成测试。不同之处在于您在测试中包含了实际的存储库。
我是单元测试的新手。我正在努力的一件事是确定 为我的方法编写什么类型的测试。使用下面的代码作为 例如,我应该在这里测试什么?我可以进行哪些测试 写。
[HttpGet]
[Route("GetPosts")]
public async Task<IActionResult> GetPosts()
{
try
{
var posts = await postRepository.GetPosts();
if (posts == null)
{
return NotFound();
}
return Ok(posts);
}
catch (Exception)
{
return BadRequest();
}
}
在单元测试中,您测试的是一小段代码,例如一个方法。重要的是单元测试只测试你要测试的方法中的代码。它不测试任何依赖项。他们必须被嘲笑(例如,最小起订量)。
我认为你在这里处理三个测试用例(=三个测试):
找到帖子
找不到帖子
出现异常
重要的是单元测试不调用实际的存储库。您必须模拟它并模拟 GetPosts 方法。
实施单元测试后,您还可以考虑实施一些集成测试。不同之处在于您在测试中包含了实际的存储库。