最小起订量不返回我设置的值
本文关键字:设置 返回 | 更新日期: 2023-09-27 18:32:14
我是最小起订量新手。我正在尝试设置我的存储库以在调用时返回值:
我的测试方法:
_userServiceMock.Setup(m => m.GetUserIDByUserName(It.IsAny<string>())).Returns(2);
_bidRepositoryMock.Setup(m => m.Match(It.IsAny<Func<IQueryable<Bid>, object>>(),
It.IsAny<Expression<Func<Bid, object>>[]>())).Returns(new Bid{UserId = 2});
var service = SetupService();
var result = service.GetOwnBid(1, "testuser");
userServiceMock 返回 2 就像它应该的那样,但 bidRepositoryMock 返回 null。
我进行单元测试的方法如下所示:
var bid = _bidRepository.Match(userBid => userBid.SingleOrDefault(b => b.ID == id),
b => b.UserProfile,
b => b.Task.UserProfile);
投标存储库方法匹配如下所示:
TResult Match<TResult>(Func<IQueryable<T>, TResult> query, params Expression<Func<T, object>>[] includes);
尝试将此代码从 It.IsAny<Func<IQueryable<Bid>, object>>()
更改为It.IsAny<Func<IQueryable<Bid>, Bid>>()
_bidRepositoryMock.Setup(m => m.Match(It.IsAny<Func<IQueryable<Bid>, Bid>>(),
It.IsAny<Expression<Func<Bid, object>>[]>())).Returns(new Bid{UserId = 2});
由于 you 方法返回查询中的TResult
类型,因此它将是Bid
类型。