首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用ActionResult<T>进行单元测试?

如何使用ActionResult<T>进行单元测试?
EN

Stack Overflow用户
提问于 2018-07-24 09:10:14
回答 5查看 19.5K关注 0票数 39

我有一个xUnit测试,如下所示:

代码语言:javascript
复制
[Fact]
public async void GetLocationsCountAsync_WhenCalled_ReturnsLocationsCount()
{
    _locationsService.Setup(s => s.GetLocationsCountAsync("123")).ReturnsAsync(10);
    var controller = new LocationsController(_locationsService.Object, null)
    {
        ControllerContext = { HttpContext = SetupHttpContext().Object }
    };
    var actionResult = await controller.GetLocationsCountAsync();
    actionResult.Value.Should().Be(10);
    VerifyAll();
}

来源是

代码语言:javascript
复制
/// <summary>
/// Get the current number of locations for a user.
/// </summary>
/// <returns>A <see cref="int"></see>.</returns>
/// <response code="200">The current number of locations.</response>
[HttpGet]
[Route("count")]
public async Task<ActionResult<int>> GetLocationsCountAsync()
{
    return Ok(await _locations.GetLocationsCountAsync(User.APropertyOfTheUser()));
}

结果的值是null,导致我的测试失败,但是如果您查看ActionResult.Result.Value (一个内部属性),它包含预期的解析后的值。

请参见下面的调试器屏幕截图。

如何在单元测试中填充actionResult.Value?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51489111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档