从IActionResult获取价值

时间:2018-08-27 10:11:13

标签: asp.net asp.net-mvc .net-core asp.net-core-mvc

我有Controller带有一些端点Task<IActionResult> MyCustomEndpoint,这些端点返回return Ok(CustomDataType)。返回的数据来自atat的JSON。

现在,我想从其他控制器(如var resp = myController.MyCustomEndpoint调用该端点,其中resp变为IActionResult。问题是resp现在不再仅返回数据,而是返回图像中显示的所有这些字段。

enter image description here

我的问题是,由于Value不起作用,如何仅访问和返回resp.Value字段。

感谢帮助。

1 个答案:

答案 0 :(得分:0)

您必须转换为 as ObjectResult

public async Task GetFormSummary_ItShouldReturnSingleForm_NotNull()
{

    var formId = new Guid("5EF685E7-1167-4226-7F5E-08D9009544A3");
   
    var mockFormService = new Mock<IFormService>();

    mockFormService.Setup(x =>  x.GetAsync(formId).Result)
        .Returns(GetTestForm());

    // Inject
    var formController = new FormController(_logger, mockFormService.Object);

    // Act
    var result = (await formController.GetAsync(formId)) as ObjectResult;

    // Assert
     Assert.IsAssignableFrom<FormViewModel>(result.Value);

}