0
如何檢查作爲該OkObjectResult的一部分返回的值是否具有2的計數而不更改控制器操作中的任何代碼?單元測試 - 由控制器動作返回的斷言對象
這裏是我的控制器操作
public IActionResult GetUserNames()
{
var users = _repository.GetUsers();
return Ok(users.Select(u => u.Name));
}
我的單元測試看起來像這樣
[Fact]
public void GetUserNames_ValidRequest_ShouldReturnOk()
{
_repository
.Setup(r => r.GetUsers())
.Return(new List<User>
{
new User { Name = "SomeRandomName" },
new User { Name = "SomeRandomName2" }
});
var result = _controller.GetUserNames();
result.Should().BeOfType<OkObjectResult>();
// Code to check if 2 names are returned
}
我在我的單元測試中使用模擬和FluentAssertions。
沒有意義的試驗。所有這一切都是檢查你的一個控制器的方法是否返回一個好結果。與有效請求無關。還有一些完全白癡出現並編輯你的代碼,所以它返回一個非成功的狀態代碼,這是一個毫無意義的測試案例 - 你應該至少對同事有一定程度的信心。我更擔心的是測試實際的業務邏輯而不是控制流程。 – Mardoxx