1 回答
TA贡献1772条经验 获得超5个赞
最有可能User是空,因为我没有看到任何设置,也GetUserName没有设置做任何事情,所以它也将为空。
因此模拟的期望不匹配,默认返回 null。
GetUserID放松对It.IsAny<string>()获得预期行为的期望。
[Fact]
public async Task GetPendingApprovals_HasPending_ReturnsResultAsync() {
// Arrange
var mockRequests = getUsers();
var userId = 1;
mockServiceRepo
.Setup(repo => repo.GetUserID(It.IsAny<string>()))
.ReturnsAsync(userId);
mockRequestRepo
.Setup(repo => repo.GetPendingApprovalsByApprover(userId))
.ReturnsAsync(mockRequests);
// Act
var result = await controller.GetPendingApprovals();
// Assert
var actionResult = Assert.IsType<OkObjectResult>(result);
//...
}
List<Request> getUsers() {
//... omitted for brevity
}
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报