c# - Task.FromResult 返回 null c# 单元测试
问题描述
我有一个单元测试,它从方法 GetClubMenuUrl 获取内容。它目前在"var result = await sut.GetClubMenuUrl(testkey);"
我假设 Returns 方法未正确实现但不确定我做错了什么的行上返回 null。
[Theory]
[AutoDomainData]
public async Task When_GetClubMenuURL_WithCorrectKey_ContentReturnedAsync(
[Frozen] Mock<IClubService> serviceMock,
ClubService sut,
int testkey,
Task<TypedResponseDto<List<ClubMenuResponseDto>>> someData)
{
// Arrange
serviceMock
.Setup(c => c.GetClubMenuUrl(It.IsAny<int>()))
serviceMock.Setup(c => c.GetVenueMenuUrl(It.IsAny<int>()))
.ReturnsAsync(new TypedResponseDto<List<ClubMenuResponseDto>>());
// Act
var result = await sut.GetClubMenuUrl(testkey);
//Assert
Assert.Equal(result.Data, someData.Result.Data);
}
这是我正在尝试测试的方法。
public async Task<TypedResponseDto<List<ClubMenuResponseDto>>> GetClubMenuUrl(int clubId)
{
var venue = await _context.Restaurant.Where(w => w.ClubId == clubId).FirstOrDefaultAsync();
if (club== null)
{
throw new ApiException(HttpStatusCode.NotFound, $"Clubwith {clubId} id does not exist");
}
var result = await _Service.GetBusinessMenuUrl(club);
return new TypedResponseDto<List<ClubMenuResponseDto>>
{
Data = result
};
}
解决方案
推荐阅读
- c# - 为什么玩家射击时子弹有时不会出现在游戏视图中?
- python - 如何从 matplotlib 返回图例数据
- user-interface - 为什么它显示警告:从不读取字段:`group`?是否有一些选项可以解决此警告?
- django - 通过查询或 ORM 访问 Django 多态模型时的不同结果
- r - 是否可以使用 rtweet 包获取不是最新的,而是最旧的用户推文?
- r - 如何根据某些字段在 R 中求和?
- apache-spark - 从 parquet 读取比 csv -pyspark 慢
- html - 如何使用 sass 函数作为变量值
- javascript - 在嵌套的 JS 对象数组中搜索 v-treeview
- xamarin - Xamarin 表单 - PostAsync 错误请求