【问题标题】:How to determine what to test in a method [duplicate]如何确定在方法中测试什么[重复]
【发布时间】:2020-04-18 02:17:36
【问题描述】:

我是单元测试的新手。我正在努力解决的一件事是确定 为我的方法编写什么类型的测试。使用下面的代码作为 例如,我应该在这里测试什么?我能做的各种测试是什么 写。

[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();
    }
}

【问题讨论】:

    标签: c# unit-testing c#-4.0 xunit


    【解决方案1】:

    在单元测试中,您测试一小段代码,例如一个方法。单元测试只测试您要测试的方法中的代码,这一点很重要。它不测试任何依赖项。他们必须被嘲笑(例如 Moq)。

    我认为您在这里处理三个测试用例(= 三个测试):

    1. 找到帖子

    2. 找不到帖子

    3. 发生异常

    单元测试不要调用实际的存储库,这一点很重要。您必须模拟它并模拟 GetPosts 方法。

    在您实施了单元测试之后,您还可以考虑实施一些集成测试。不同之处在于您在测试中包含了实际的存储库。

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      • 2015-12-13
      • 2019-01-23
      • 1970-01-01
      相关资源
      最近更新 更多