【发布时间】:2017-09-15 09:32:06
【问题描述】:
我正在开发一个 .Net Core Web API 应用程序。我的控制器上有以下方法:
[HttpGet]
public async Task<IActionResult> GetArtists()
{
var permissions = await _permissionsService.GetPermissionsAsync(HttpContext);
var artists = _artistsService.GetAllArtists(permissions.UserId, permissions.IsAdministrator);
return Ok( new { artists });
}
我想编写一个测试来断言我确实得到了200 OK 结果。
我尝试了以下方法:
[TestMethod]
public void GetArtists_ReturnsOKStatusCode()
{
// arrange
var artistsController = new ArtistsController(_mockPermissionsService.Object, _mockArtistsService.Object, _mockLogger.Object);
// act
var getArtistsResult = artistsController.GetArtists();
var okResult = getArtistsResult as OkObjectResult;
Assert.IsInstanceOfType(okResult, OkObjectResult)
}
但我在投射到OkObjectResult 的行上出现错误。它说我无法将类型 Task<IActionResult> 转换为 OkObjectResult
【问题讨论】:
标签: c# unit-testing asp.net-core mstest