c# - 如何为异步 Web API 编写单元测试

标签 c# unit-testing asp.net-web-api

我有一个使用 C# 和 Framework 6 的项目。我有一个 WEB API 来调用这些方法。 为异步 WebAPI 方法编写单元测试的最佳方法是什么?

这是我的方法:

[HttpGet]
[Route("GetYears")]
public Task<IEnumerable<Year>> GetYearsAsync()
{
     return reditApplicationsRepository.GetYearsAsync();         
}

最佳答案

您也可以使用 await 来执行此操作。

[TestMethod]
public async Task GetYearsTest()
{
    //_sut is the System Under Test,  in this case is an instance of your controller
    var years = await _sut.GetYears();
    //Any Assert that you want
}

stub 方法creditApplicationsRepository.GetYearsAsync(); 的返回,请使用此Task.FromResult(mockReturn)

关于c# - 如何为异步 Web API 编写单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161048/

相关文章:

c# - 套接字接收所有

c# - 返回 View 后未调用 ASP.NET 索引方法

java - 单元测试 - 实现 equals 只是为了方便测试

java - 在Java中的测试类中实例化要测试的类

c# - 在 Controller 'User' 上找不到与名称 'Name' 匹配的操作

Asp.Net Web API 与 Web 服务

c# - 如何在 .Net Core 2.2 中正确使用 ConfigurationManager.GetSection()

c# - 如何获得在集合数量中找到的最长匹配项,顺序很重要

python - 引导测试和使用 Python 测试发现

c# - 是否可以在 web API 2 Controller post 方法中分别传递多个复杂类型参数?