如何在不更改控制器操作中的任何代码的情况下检查作为OkObjectResult的一部分返回的值是否为2,而不更改控制器操作中的任何代码?
这是我的控制器动作
h.each { |key, value| h[key] = value.sort_by! { |x, y| y } } # In this case, `y` is the second value in your arrays, which is the integer
我的单元测试看起来像这样
public IActionResult GetUserNames()
{
var users = _repository.GetUsers();
return Ok(users.Select(u => u.Name));
}
我在单元测试中使用了Mock和FluentAssertions。
答案 0 :(得分:5)
你应该可以这样做:
var objectResult = Assert.IsType<OkObjectResult>(result);
var model = Assert.IsAssignableFrom<List<string>>(objectResult.Value);
Assert.Equal(2, model.Count);