1 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
實(shí)際上,你做得很好,并且做得很好(真正使用AAA的開(kāi)發(fā)人員太少了,這非??杀?qǐng)記住,默認(rèn)情況下Mock返回default(T)值。因此,您的Authorban方法被模擬并返回默認(rèn)值(User),該默認(rèn)值為空。只需讓它返回您的存根用戶:
var mockService = new Mock<IUserService>();
var user = new User()
{
UserId = 4,
IsAdmin = true,
Token = "12983912803981",
IsLogged = true,
MessagesSent = null,
MessagesReceived = null,
Nickname = "test3",
Password = "Str0ngP@ssword123",
UserChannels = null
};
mockService.Setup(x=> x.Authenticate(It.IsAny(), It.IsAny())).Returns(user);
或者@xander提出的更嚴(yán)格的版本:
mockService.Setup(x=> x.Authenticate("test3", "Str0ngP@ssword123")).Returns(user);
它還將檢查您是否實(shí)際使用了在 User 中傳遞的值,而不僅僅是盲目地返回 Ok()。
- 1 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報(bào)